#include <stdio.h>
main()
{ int x=8;
for(; x>0; x--)
{ if(x%3) {
printf("%d ",x--);
continue;
}
printf("%d ",--x);
}
}
要问4是怎么来的,首先你要学会看懂程序,最主要是程序里的某些关键词的用法,用法会了,程序自然也就理解啦
关键词讲解
for:用来遍历,语法结构是for(初始值; 满足条件;附加条件){}就是,如果中间的条件满足,则执行循环,否则不执行跳出循环,附加条件就是对初始值进行改变,比如题中x--,就是每次执行都递减一,
x%3:主要是%号,就是求余,x除以3的余数,在c语言中if(x%3)代表如果余数不为0,则成立
continue:跳过本次循环,执行下一个循环,如果他执行了,它下面的代码将不会被执行
程序执行过程
x=8,x%3==2,条件满足,打印出8,同时x--后,x为7,
x--,x为6,x%3==0,条件不满足,x--后,x为5,打印出5
x--,x为4,x%3==1,条件满足,打印出4,同时x--后x为3
x--,x为2,x%3==2,条件满足,打印出2,同时x--后x为1
x--,x为0,不满足x>0,循环结束
最终打印出 8 5 4 2
有啥问题呢?结果在哪里呢?
描述一下代码运行过程:
1、第一次循环,x=8,x%3==2,if条件满足,打印出8,同时x--为7,
2、第二次循环,x--为6,if(x%3)条件不满足,--x后x为5,打印出5
3、第三次循环,x--为4,x%3==1,if条件满足,打印出4,同时x--为3
4、第四次循环,x--为2,x%3==2,if条件满足,打印出2,同时x--为1
5、第五次循环,x--为0,不满足x>0条件,循环结束
最终打印出 8 5 4 2