“printf”只打印变量地址
所以这是我的代码:
#include main(){ int hi; hi = 3; printf("%d",&hi); }
输出是:“2686748”
我在Windows 7上使用“代码块”
任何想法都错了?
&是C中的运算符的地址。因此,如果你说&hi,它将打印变量hi的地址。 要在变量内打印值,请删除您使用的行中的&。
printf("%d",hi);
它正在打印一个地址,因为你通过使用地址运算符 &
告诉编译器这样做了。
如果你想打印这个值,只需写下hi
而不是&hi
。
"%d"
告诉printf
你输入一个整数。 你给它的整数是&hi
,这是&hi
的地址。 如果你想要hi
的值就可以使用它
&
运算符为您提供变量的地址
printf("%d", &hi);
打印地址和
printf("%d", hi);
打印值。
如果您打算打印hi
的值,只需将其传递给printf,而不是其地址:
printf("%d", hi);
您可能会将printf
与scanf
混淆,后者要求其所有参数都是指针。