我试图一些C代码中开发的C++和Visual C++是什么的printf( “%d”,&t);和printf( “%d”,T)之间的差;
对于实施例:
int t =6;
printf("\nt = %d ",&t);
输出为:?
t = 2358848
为什么会这样?我怎样才能T的值
我试图一些C代码中开发的C++和Visual C++是什么的printf( “%d”,&t);和printf( “%d”,T)之间的差;
对于实施例:
int t =6;
printf("\nt = %d ",&t);
输出为:?
t = 2358848
为什么会这样?我怎样才能T的值
试试这个:printf("\nt = %d ", t);
您正在尝试打印t
变量的地址。
&被称为一元,它给你一个变量的地址。这会让你感到困惑,因为当你使用scanf时,它需要一个地址来存储用户输入,所以你使用了一个单一的。但是在打印时,它希望将该值显示在屏幕上,而不关心其地址是什么。
例子:
或者,如果你真的想看到的地址是:
printf("\n %p", &t); // This displays a memory location properly formatted.
的'p'转换指定为'唯一void'三分球定义。所以它应该是'printf(“\ n%p”,(void *)&t);')。 – alk