#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 关注
- 1292 浏览
添加回答
举报
0/150
提交
取消