#include<iostream>
const int cities=5;
const int years=4;
int main(){
using namespace std;
const char * city[cities]=
{
"gribble city",
"gribbetwon",
"new york",
"san",
"vist"
};
int maxtemp[years][cities]=
{
{96,100,87,101,105},
{96,98,91,107,104},
{97,101,93,108,107},
{98,103,95,109,108}
};
for(int i=0;i<cities;i++){
cout<<city[i]<<":\t";//这里没有解引用
for(int j=0;j<years;j++){
cout<<maxtemp[i][j]<<"\t";
}
cout<<endl;
}
return 0;
}
加入地址符,结果如下
加入解引,如下
即只会显示第一个字符
这是因为:将cities声明为一个char指针数组,这使得每一个元素(如cities[0])都是一个char指针,可被初始化为一个字符串的地址,程序将cities[0]初始化为字符串gribble city的地址。
cout输出字符串指针