想输出一个5X5的菱形,结果只有空行
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
char diamond[5][5] = { {' ',' ',' * '},{' ',' * ',' ',' * '},{' * ',' ',' ',' ',' * '},{' ',' * ',' ',' * '},{' ',' ',' * '} };
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
printf("%c", diamond[i][j]);
}
printf("\n");
}
return 0;
}
输出一个菱形
在初始化数组时,你的单引号内的除了*,还有空格,去掉多余空格就好了。如下:
char diamond[5][5] = { {' ',' ','*'},{' ','*',' ','*'},{'*',' ',' ',' ','*'},{' ','*',' ','*'},{' ',' ','*'} };
修改见注释,' * ' 这样占了3格,不是字符,是字符串了。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
char diamond[5][5] = { {' ',' ','*'},{' ','*',' ','*'},{'*',' ',' ',' ','*'},{' ','*',' ','*'},{' ',' ','*'} };
// char diamond[5][5] = { {' ',' ',' * '},{' ',' * ',' ',' * '},{' * ',' ',' ',' ',' * '},{' ',' * ',' ',' * '},{' ',' ',' * '} };
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
printf("%c", diamond[i][j]);
}
printf("\n");
}
return 0;
}