我的代码是:
char array[5];
array[0] = 'F';
array[1] = '5';
array[2] = ' ';
array[3] = 'D';
array[4] = '3';
printf("%s", array);
printf("n");
char aa[2][2];
char aaa[2];
aa[0][0] = array[0];
aa[0][1] = array[1];
aa[1][0] = array[3];
aa[1][1] = array[4];
aaa[0] = array[0];
aaa[1] = array[1];
printf("aa[0] %sn", aa[0]);
printf("aa[0][0] %cn", aa[0][0]);
printf("aa[0][1] %cn", aa[0][1]);
printf("aa[1] %sn", aa[1]);
printf("aa[1][0] %cn", aa[1][0]);
printf("aa[1][1] %cn", aa[1][1]);
printf("aaa %s", aaa);
输出为:
F5 D3▒▒▒▒ aa[0] F5D3F5 D3▒▒▒▒ aa[0][0] F aa[0][1] 5 aa[1] D3F5 D3▒▒▒▒ aa[1][0] D aa[1][1] 3 aaa F5F5D3F5 D3▒▒▒▒
你能解释一下它的作用吗?它为什么这么做?如何修复?为什么修复有效,而这个解决方案无效?(…这是什么?"▒"实际上是符号?(
谢谢!
您的字符串没有以' '
字符结束,这就是为什么pritnf会打印下一个随机字符
更改代码
char array[5];
array[0] = 'F';
array[1] = '5';
array[2] = ' ';
array[3] = 'D';
array[4] = '3';
至
char array[6] = "F5 D3 ";
它应该工作