arrays - 二维字符数组打印错误结果
问题描述
提前感谢您对董事会的所有令人难以置信的回应。
我正在尝试打印二维数组以显示在那里排列的字符,但我只得到:
4 6
4 6
4 6
4 6
4 6
4 6
任何想法我做错了什么?数组大小和字符串出来就好了……</p>
源代码:
#include <stdio.h>
char list_ch[][2] = {
'1', 'a',
'2', 'b',
'3', 'c',
'4', 'd',
'5', 'e',
'6', 'f' };
int i, j;
int main() {
printf("List_ch size:%d\n", sizeof list_ch);
for (i = 0; i < 6; i++) {
printf("\n");
for (j = 0; j < 2; j++)
printf("%c ", list_ch[i, j]);
}
printf("\n");
printf("This is the string:\n");
printf("%s", list_ch);
return 0;
}
解决方案
打印命令应更改为
printf("%c ", list_ch[i][j]);