看看是不是这样理解的?

KONGLEUNG 2010-07-20 08:45:55
程序如下:
#include <stdio.h>
void main()
{
char a[]={'*','*','*','*','*'}; \* 将*号分别赋予a[0]a[1]a[2]a[3]a[4] *\
int i,j,k;
for(i=0;i<5;i++)
{
printf("\n");
for(j=0;j<i;j++) printf("%c",' ');
for(k=0;k<5;k++) printf("%c",a[k]);
}
}

过程:从第一个for(i=0;i<5;i++) 语句开始,当i=0,且i<5为真,执行{}的复合语句:
先输出一个回车换行,当j=0,0<0为假,不执行语句退出循环。接下来,当k=0,k<5为真,执行后面printf语句;执行k++后,K值为1,这样判断执行,直到条件不成立退出循环。 这时执行i++,i的值为1。1<5为真。执行{}复合语句,当j=0,i=1时,j<i为真,这时输出一个空格符。当j++后,j值为1,再进行判断条件不成立退出循环。当k=0,k<5为真,执行后面printf语句;执行k++后,K值为1,这样判断执行,直到条件不成立退出循环。这样循环反复不知对不对?
...全文
118 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liutengfeigo 2010-07-20
  • 打赏
  • 举报
回复
x学会结贴~
KONGLEUNG 2010-07-20
  • 打赏
  • 举报
回复
我是新手不是太明白,希望以后还能得到大家的指点和帮助!谢谢!
liutengfeigo 2010-07-20
  • 打赏
  • 举报
回复

看看输出的状况,看看自己的代码就一切清楚了
wxwlll 2010-07-20
  • 打赏
  • 举报
回复

*****
*****
*****
*****
*****
上面就是输出效果!
jixingzhong 2010-07-20
  • 打赏
  • 举报
回复
for(i=0;i<5;i++)
这个循环就是输出五行

for(k=0;k<5;k++)
就是输出数组的五个元素

关键看看for(j=0;j<i;j++)就好,根据i输出若干空格,其实就是在定位输出
snakes13 2010-07-20
  • 打赏
  • 举报
回复
没问题 运行一下就看出来了
dxdhmz 2010-07-20
  • 打赏
  • 举报
回复
有什么问题?楼主理解的对啊
_JeffreyWu 2010-07-20
  • 打赏
  • 举报
回复
看你的描述比看代码还累.
单步一下就很清楚了

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧