如果我在scanf中传递变量值而不是变量引用会发生什么?

问题描述 投票:0回答:1

我有此代码:

int a;

scanf("%d", &a);

printf("You entered: %d", a);

效果很好,但是我想知道如果我传递变量值而不是像scanf这样的scanf("%d", a)中的变量引用,会发生什么?

我没有从编译器收到错误,但也没有输出。这是怎么回事?

c scanf
1个回答
-1
投票

a是指针,所以发生的事情是您正在扫描int值,并尝试将其存储在存储指针的地址中,请不要忘记指针也是变量,并且它是地址也存储在内存中。

执行此操作将调用undefined behavior

© www.soinside.com 2019 - 2024. All rights reserved.