我試圖一些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