如何将数组值分配给C中的另一个数组



我的代码是:

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";

它应该工作

相关内容

最新更新