C语言二位字符数组输出乱码

2019-05-06 19:12发布

要求输出以下

出现乱码程序如下

#include<stdio.h>

int main()

{

char a[][5]={{'A',},{'I','*'},{'I','*','*'},{'I','*','*','*'},{'I','*','*','*','*'},{'I'},{'I'},{'I'},{'I'}};

int i,j;

for(i=0;i<9;i++)

{

for(j=0;i<5;j++)

printf("%c",a[i][j]);

printf("\n");

}

return 0;

}


1条回答

程序明显有两个问题,一是你的数组初始化不完整

局部变量不初始化部分可能为随机数(与编译器有关)

所以最好是

char a[][5]= {{'A',' ',' ',' ',' '},{'I','*',' ',' ',' '},{'I','*','*',' ',' '},{'I','*','*','*',' '},{'I','*','*','*','*'}
   ,{'I',' ',' ',' ',' '},{'I',' ',' ',' ',' '},{'I',' ',' ',' ',' '},{'I',' ',' ',' ',' '}};

二是关键错

for(j=0;i<5;j++)

你的循环条件写错了,正确的是

for(j=0;j<5;j++) //j写成i了

一周热门 更多>