嗨,我刚开始使用C作为我的第一门编程语言。

我和scanf()玩了一会儿,发现一些奇怪的东西。

  #include <stdio.h>
#include <Windows.h>
int main()
{
    int x;

    printf( " Type any number : " );
    scanf( "%d", &x );
    printf( "You entered %d.\n", &x );

    system("pause");
    return 0;
}


它总是显示7或8位数字的结果。

这怎么可能?

最佳答案

printf x的地址而不是值。像这样修复:

printf("You entered %d.\n", x);


scanf想要存储结果的地址,printf可以自己取值。

关于c - scanf生成一个随机数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39251371/

10-16 11:31