#include "stdio.h"
#define N 6
void main()
{
char c[N];
int i=0;
for(;i<N;c[i]=getchar(),i++);
for(i=0;i<N;i++)putchar(c[i]);printf("\n");
}运行的过程的是怎样的?
2 回答
已采纳
慕粉3918764
TA贡献1条经验 获得超2个赞
for(; i<N; c[i]=getchar(),i++)
{
;
}
上面的语句这样写可能更清楚一点!!
先得弄清楚for循环的执行顺序:
for循环内部以;为分割符,一共两个分号,共三条语句段
执行顺序为:
第一步:执行语句段1;
第二步:执行语句段2,如果语句段2为真,进入{},执行{}里面的语句,{}里的语句执行完执行语句段3;
如果语句2段为假,则退出循环。
第三步:执行语句段3,注意!!语句段3执行完毕之后,返回执行语句段2,也就是重复第二步!!
在这里:
---第一次循环---
执行第一段:是个空语句;
执行第二段:i的初值为0,N的值通过define定义为6,所以i<N为真,执行第三段。
执行第三段:c[i]=getchar(),意思是把你从键盘输入的字符放到数组c的第i个位置,第一次i=0,所以是把字符放到c[0]的位置
然后 i++ 的意思是 i 的值自加1。
---第二次循环---
执行第二段:判断i<N是否为真,因为第一次循环之后i的值变成了1,所以i<N 就是1<6,为真,执行第三段。
执行第三段:c[1] = getchar(),然后i++。
......
共循环6次!!!
所以这个循环的目的就是输入6个字符,放到数组c里面
for(i=0;i<N;i++)putchar(c[i]);printf("\n");
第一个for循环懂了,这个for循环就可以理解了,就是把数组c的元素再打印出来!!!- 2 回答
- 0 关注
- 1403 浏览
添加回答
举报
0/150
提交
取消
