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'类型。 –