c/c++语言开发共享指向字符转换的指针不兼容

我正在编写一个程序,将卡片值写入52点字符多维数组。 这个程序是一个测试数组,我稍后将作为函数写入主程序。
在程序中,我初始化一个for循环计数051 。 我使用由13调制的switch语句将卡值分配给arrays点。 但是,我收到整数转换的错误指针,如何将值写入数组中的第二个点?

 #include  int main () { char CardValue[52][6]; int i; for (i=0;i<52;i++) { CardValue[i][6]=i; CardValue[i]; switch (i%13) { case '0': CardValue[i][6] = "ACE"; break; case '1': CardValue[i][6] = "2"; break; case '2': CardValue[i][6] = "3"; break; case '3': CardValue[i][6] = "4"; break; case '4': CardValue[i][6] = "5"; break; case '5': CardValue[i][6] = "6"; break; case '6': CardValue[i][6] = "7"; break; case '7': CardValue[i][6] = "8"; break; case '8': CardValue[i][6] = "9"; break; case '9': CardValue[i][6] = "10"; break; case '10': CardValue[i][6] = "JACK"; break; case '11': CardValue[i][6] = "QUEEN"; break; case '12': CardValue[i][6] = "KING"; } 

    您需要执行strcpy而不是直接分配字符串文字。 此外,arrays使用是错误的。

    代码应如下所示:

     #include  #include  int main () { char CardValue[52][6]; int i; /* Not clear what you are trying in the below 2 lines. But, it'll not work :-) */ /*CardValue[i][6]=i; CardValue[i];*/ for (i=0;i<52;i++) { switch (i%13) { case '0': strcpy(CardValue[i],"ACE"); break; case '1': strcpy(CardValue[i],"2"); break; /** Do the same way for other case **/ } } } 

    你应该#include 并做这样的事情:

    case '0': strcpy(CardValue[i],"ACE");

    另请注意, CardValue[i]; 完全没有效果。 您还应该删除CardValue[i][6]=i; ,我真的不知道你的意思,但肯定不应该在那里。

    需要了解更多c/c++开发分享指向字符转换的指针不兼容,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享指向字符转换的指针不兼容相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/980615.html

      (0)
      上一篇 2021年12月14日
      下一篇 2021年12月14日

      精彩推荐