我有此代码:
int a;
scanf("%d", &a);
printf("You entered: %d", a);
效果很好,但是我想知道如果我传递变量值而不是像scanf
这样的scanf("%d", a)
中的变量引用,会发生什么?
我没有从编译器收到错误,但也没有输出。这是怎么回事?
a
是指针,所以发生的事情是您正在扫描int
值,并尝试将其存储在存储指针的地址中,请不要忘记指针也是变量,并且它是地址也存储在内存中。
执行此操作将调用undefined behavior。