当我输入一个字母时,我的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/

10-10 23:16