#include<bits/stdc++.h>
using namespace std;
int main()
{
char chMonth[12]
= {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
cout<<chMonth[1];
}
报错: [Error] too many initializers for 'char [12]'
中文字符有长度,要定义二维数组,同时要注意长度,比如:
#include<bits/stdc++.h>
using namespace std;
int main()
{
char chMonth[12][3]
= {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
cout<<chMonth[1];
}
此时报错同上,因为每个字符分配的长度不够。
注意:一个汉字占3个字节,同时字符后面有一个\0,所以本例中长度至少为7,见下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
char chMonth[12][7]
= {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
cout<<chMonth[1];
}
此时无报错。