0
int main(){
char a[] = "Ab";
char *ptr = a;
//ptr = a;
cout << &a << a[0] << endl;
cout << ptr << endl;
char c= 'C';
char *pC = &c;
cout << &c << " :: " << pC << endl;
cout << pC << endl;
}
輸出: 0x7fffcb399550A 抗體 駕駛室::駕駛室 駕駛室打印地址
無法理解過去的兩個輸出。
感謝您的回覆,但我又有一些困惑。爲什麼這種相同的行爲不適用於char a [] =「ab」。當我們嘗試打印&a時,操作符應該將操作數類型設置爲char *,然後它還應該打印字符串「ab」而不是地址。爲什麼&打印字符串開頭的地址,如果是char c ='C',&c打印字符'C'? – user3248678
@ user3248678'&a'不是'char *'類型,因爲'a'不是'char'類型。 –