我正在编写一些基本代码来学习printf和scanf函数,但是当通过scanf函数输入整数时,printf函数返回完全不同的数字 . 输入字符时会发生类似的事情,只有printf函数显示正方形 . 代码有问题,还是其他问题?
#include <stdio.h>
int main()
{
char letter;
int num1,num2;
printf("Enter any one keyboard character: ");
scanf("%c", &letter);
printf("Enter any two integers separated by a space: ");
scanf("%d %d", &num1, &num2);
printf("Numbers output %d and %d \n" , &num1, &num2) ;
printf("letter input %c\n" , &letter) ;
printf("stored at %p" , &letter) ;
return 0;
}
无论何时输入任何整数或字符,都会显示2686680和2686676来代替整数,并显示填充的矩形而不是字符 .
任何帮助都会非常感谢,谢谢!
1 回答
&letter
表示存储printf正确的变量letter
的地址 . 你应该在printf参数中使用letter
,