字符阵列的初始化器 - 弦弦是太长的错误
initializer-string for array of chars is too long error
我正在使用C 进行二十一点游戏,并且其中有以下代码,我在其中遇到了错误
typedef struct
{
int value;
char suit[8];
char name[8];
}Deck;
Deck Cards[52] = {{ 1,"Ace","Hearts"},{ 2, "Two","Hearts"}, { 3, "Three", "Hearts"}, { 4, "Four","Hearts"}, { 5,"Five","Hearts"},{ 6,"Six", "Hearts06"},
{ 7,"Seven","Hearts"},{ 8,"Eight","Hearts"},{ 9,"Nine","Hearts"},{ 10,"Ten","Hearts"},{10,"Jack","Hearts"},{10,"Queen","Hearts"},{10,"King","Hearts"},
{ 1,"Ace","Clubs"},{2, "Two", "Clubs"},{3,"Three","Clubs"},{4,"Four","Clubs"},{5,"Five","Clubs"},{6,"Six","Clubs"},{7,"Seven","Clubs"},{8,"Eight","Clubs"},
{ 9,"Nine","Clubs"},{10,"Ten","Clubs"},{10,"Jack","Clubs"},{10,"Queen","Clubs"},{10,"King","Clubs"},
{ 1,"Ace","Diamonds"},{2,"Two","Diamonds"},{3,"Three","Diamonds"},{4,"Four","Diamonds"},{5,"Five","Diamonds"},{6,"Six","Diamonds"},{7,"Seven","Diamonds"},
{ 8,"Eight","Diamonds"},{9,"Nine","Diamonds"},{10,"Ten","Diamonds"},{10,"Jack","Diamonds"},{10,"Queen","Diamonds"},{10,"King","Diamonds"},
{ 1,"Ace","Spades"},{ 2,"Two","Spades"},{3,"Three","Spades"},{4,"Four","Spades"},{5,"Five","Spades"},{6,"Six","Spades"},{7,"Seven","Spades"},
{ 8,"Eight","Spades"},{ 9,"Nine","Spades"},{10,"Ten","Spades"},{10,"Jack","Spades"},{10,"Queen","Spades"},{10,"King","Spades"}};
错误是
Main.c:39:127: error: initializer-string for array of chars is too long [-fpermissive]
行39 是上面发布的代码的最后一行
请帮助我弄清楚为什么编译器要丢失错误
字符串"Diamonds"
具有9个字符,包括null终止字符。因此,name
必须至少具有9个元素。
但是,看起来您的name
成员应称为suit
,反之亦然。
而不是:
int nMyArray[8]= {5,6,5,4,6,7,4,2};
更喜欢这样:
int nMyArray[]= {5,6,5,4,6,7,4,2};
初始化数组时。前者要求您指定尺寸。后一个计算大小(仅在编译时间)。
相关文章:
- 当我的阵列太大时出现分段错误
- 仅在大型阵列上出现合并排序分段错误
- 访问特定阵列位置/索引时出现分段错误
- 为什么删除分配的阵列会导致内存错误?
- 动态 2D 阵列.为什么分段错误?
- 分配给阵列时出现分段错误?黑客排名 2D 阵列 - DS.
- 删除阵列时出现分段错误
- 保护类内存阵列以检测分段错误
- 3D 阵列中的瓦尔格林德错误C++
- OpenMP 环路阵列访问中的错误共享
- C++ Visual 工作室中的逻辑错误.阵列打印的是地址而不是内容
- 排序阵列会使指针链接错误
- 为什么在迭代中迭代时,为什么我不会出现限制阵列错误
- 问题创建和返回锯齿状阵列(错误std :: bad_array_new_length)
- TBB免费图像lambda阵列比较错误
- 打印我的字符串阵列时,会遇到细分错误
- 删除指向排序的字符串阵列的指针会在运行后会有一个错误
- 在C 中构造函数中初始化C阵列的错误
- 当我尝试创建两个后缀阵列时,为什么要获得EXC_BAD_ACCESS错误
- 分段错误 - C++阵列