已知char *a[]={ "fortran", " basic", "pascal", "java", "c++" };,则cout<<a[3];的显示结果是()
int main()
{
char *a[]={ "fortran", " basic", "pascal", "java", "c++" };
printf("%.8p\n", a[3]);
cout << a[3] << "--" << *a[3] << endl;
char *b = "java";
printf("%.8p\n", b);
cout << b << "--" << *b << endl;
int iValue = 1314;
int *ptr = &iValue;
printf("%.8p\n", ptr);
cout << ptr << "--" << *ptr << endl;
return 0;
}
Dev-C++ TDM-GCC4.9.2 64-bit
Result:
00488017
java--j
00488017
java--j
006ffe2c
0x6ffe2c--1314
1.首先a是一个数组,数组里的内容是char型指针,指针指向字符串
2.cout一个char型指针会打印其中内容,而cout一个int型指针会打印其地址
3.cout一个char型指针的解引用会打印这个指针指向的内容即上述的'j',cout一个int型指针的解引用也会打印这个指针指向的内容即上述的1314
4.char *ptr = "java";指针形式存储的字符串是字符常量,最好加上const,数组a也最好加上