【求解】二维数组输出问题
定义char week[7][10]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
void print(char a[][10])//调用时print(week);
{
for(int i=0;i<7;i++)
{
cout<<a[i]<<setw(13);
}
cout<<endl;
}
这样输出a[i]结果是我想要的:
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
我并没有用两个for循环将week[i][j]输出啊……
但谁能给我讲讲原因或者具体是怎么做的?
谢谢!
[解决办法]
类似于
char a[10] = "Monday";
cout << a << endl;
会输出 monday
[解决办法]
“数组的名称可以当做数组首地址使用”
所以,打个比方,你上面例子里的*week[0]="Monday", count只需要写地址,所以就是count<<week[0]
[解决办法]
char week[7][10]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
给你改一下:
char * week[7]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
不知道你看明白没?
[解决办法]
++ 函数也改下!
char week[7][10]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}void print(char *a[])//调用时print(week);{for(int i=0;i<7;i++){cout<<a[i]<<setw(13);}cout<<endl;}
[解决办法]
cout<<a[i]<<setw(13);
中的i是一个地址! 而其中放的是字符串常量,自然要输出 来了