我想將這些c代碼轉換爲C++代碼。它是關於指針的printf指針格式cout
int n = 44;
//printf("n = %d \t &n = %x\n", n, &n);
cout<<"n ="<<n<< "\t" <<"&n ="<<hex<<int(&n)<<endl;
當我運行printf的輸出是這樣的:
n=44 &n=22ff1c
但是當我運行COUT輸出是這樣的:
n=44 &n=22ff0c
爲什麼做兩個版本爲n的地址輸出不同的值?
十六進制數字是變量的內存地址。每次運行程序時可以有不同的值。 – Topo 2012-04-01 08:06:21
每次運行printf時,都會給出相同的答案(&n = 22ff1c)。以相同的方式cout程序給出相同的結果(&n = 22ff0c) – cadyT 2012-04-01 08:12:19
重新編輯:2C是44的十六進制。 – 2012-04-01 09:32:23