为什么char指针不能用?

时间:2016-12-17 18:58:23

标签: c pointers char

我的代码:

      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';
       }

编译时会出现分段错误

抱歉, 我已经编辑了我的问题。

我想知道如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

我认为remain函数的第三行存在问题。你错过了一个分号;它应该是int i,j;而不是int i,j,