当我输入一个字母时,我的C程序会给出数字“32767”,但当我输入一个整数时,它会告诉我输入的数字。
为什么我的程序不告诉我输入了什么字母?为什么给我号码“32767”?
#include <stdio.h>
main()
{
int number;
printf("Enter an integer\n");
scanf("%d",&number);
printf("Integer entered by you is %d\n", number);
return 0;
}
最佳答案
如果scanf
找不到它要查找的内容(在本例中是一个int
),它只会返回而不修改传入的内容。换言之,scanf
不会改变number
,所以它会有它的旧值,在本例中,它是未定义的(因为它没有初始化)。
关于c - C程序给出32767的字母,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17982812/