我在Dev C ++和Visual C ++中尝试了一些C代码。
例如:
int t =6;
printf("\nt = %d ",&t);
输出结果为:
t = 2358848
为什么会这样?我怎样才能得到t的值?
答案 0 :(得分:3)
答案 1 :(得分:2)
&被称为一元,它给你一个变量的地址。这会让人感到困惑,因为当你使用scanf时,它需要一个地址来存储用户输入,所以它让你使用一元。但是在打印时,它希望值显示在屏幕上,它不关心它的地址是什么。
示例:
int t = 0;
scanf("%d", &t); // This saves what the user inputs to the memory location of t
printf("\n %d", t); // This prints the value the user input
或者,如果您确实想查看地址是什么:
printf("\n %p", &t); // This displays a memory location properly formatted.
答案 2 :(得分:1)
试试这个:printf("\nt = %d ", t);
您正在尝试打印t
变量的地址。