帮忙看看这个程序,错在何处啊
main(){
char a[5][5];int i,j;
for (i=0;i<5;i++)
for (j=0;j<5;j++)
a[i][j]='*'; 给它们全部赋值为*
for (i=0;i<5;i++)
{for (j=0;j<=i;j++)
printf(" "); 输出空格
puts (a[i]);}
}
期待结果为 *****
*****
*****
*****
*****,无奈在turbo c下运行后结果大为不同,空格样式能显示,但第一行出现25个*号+乱码,第二行是20个*号+乱码;第三行是15个*+乱码;如此、、、、,哪位知道错在何处,望指点迷津,多谢啦
----------------解决方案--------------------------------------------------------
puts(a[i]);?
----------------解决方案--------------------------------------------------------
puts(a[i]);表示从a[i]开始输出后面的内容,楼主的结果就是程序的准确答案。
把puts(a[i]);改为puts(a[4][0]);呵呵,就不是你的初衷了,但是可以得到预期结果。
要注意数组的表示意义。
----------------解决方案--------------------------------------------------------