直接打印一个指向字符串的指针一定结果是指针的地址吗?还是这个字符串本身?答案是“看情况”。
char *m1 = "coconut is lovely";
char *m2 = "passion fruit isnice";
char *m3 = "craneberry is fine";
首先来看在cout如何表现
cout<<"Now use cout to print *m1="<<*m1<<endl;
输出: Now use cout to print *m1=c;
说明:输出m1指向的字符串的第一位的内容
cout<<"Now use cout to print m1="<<m1<<endl;
输出: Now use cout to print *m1= coconut is lovely
说明:输出m1所指的内容,而不是m1指向的地址。但是看下面
cout<<"Now use cout to print m1="<<(int)m1<<endl;
输出: Now use cout to print *m1=4636884
说明:指向字符串的指针m1在cout中默认表达为字符串内容,但是也<