我想要一个包含4列的13行数组,我希望第一行包含字符“C”,“D”,“H”和“S”,但这不是我得到的。这是我的代码:
#include <stdio.h>
int main(void)
{
char a[13][4] = {"C", "D", "H", "S"};
int i, j, k;
for (i = 0; i < 13; i++)
{
for (j = 0; j < 4; j++)
{
printf("%c ", a[i][j]);
}
printf("\n");
}
return 0;
}
这就是它的输出:
C
D
H
S
什么时候应该
C D H S
我已经尝试了谷歌搜索教程,了解如何初始化多维数组,我认为我做得对,但我必须做错事,因为某些原因我无法看到。
答案 0 :(得分:0)
您需要使用字符常量而不是字符串常量。将双引号更改为单引号:
char a[13][4] = {'C', 'D', 'H', 'S'};
答案 1 :(得分:0)
声明
IntVar
使用四个字符串char a[13][4] = {"C", "D", "H", "S"};
和a
初始化前四行数组"C", "D", "H"
。如果您只想初始化包含字符"S"
和'C', 'D', 'H'
的第一行,那么它应该像
's'
数组的其他元素将初始化为char a[13][4] = {{'C', 'D', 'H', 'S'}};
个字符。