我的代码:
char suit1[5], suit2[5], suit3[5], suit4[5];
char rank1[5], rank2[5], rank3[5], rank4[5];
int i, j;
char *cptr1, *cptr2;
for (i = 0, j = 0; j < 20; i++, j++, i %= 5){
if (j > 0 && j < 5){
cptr1 = &suit1[i];
cptr2 = &rank1[i];
}
if (j > 4 && j < 10){
cptr1 = &suit2[i];
cptr2 = &rank2[i];
}
if (j > 9 && j < 15){
cptr1 = &suit3[i];
cptr2 = &rank3[i];
}
if (j > 14 && j < 20){
cptr1 = &suit4[i];
cptr2 = &rank4[i];
}
if (a[j]>0 && a[j]<14) *cptr1 = 'c';
if (a[j]>13 && a[j]<27) *cptr1 = 'd';
if (a[j]>26 && a[j]<40) *cptr1 ='h';
if (a[j]>39 && a[j]<53) *cptr1 = 's';
}
编译时会出现分段错误。
抱歉, 我已经编辑了我的问题。我想知道如何解决这个问题。
答案 0 :(得分:1)
我认为remain
函数的第三行存在问题。你错过了一个分号;它应该是int i,j;
而不是int i,j,
。