#include<stdio.h>
void main(){
int x=8,i;
for(;x>0;x--)
{if(x%3){
printf("%d\n",x--);
continue;
}
printf("%d",--x);
scanf("%d",&i);
}
}
这个程序结果为什么是8 5 ...
#include<stdio.h>
void main(){
int x=8,i;
for(;x>0;x--)
{if(x%3){
printf("%d\n",x--);
continue;
}
printf("%d",--x);
scanf("%d",&i);
}
}
这个程序结果为什么是8 5 ...
{if(x%3){
printf("%d\n",x--);
continue;
}
这句打印出来8,后自减1等于7
返回循环--等于6
再次打印--x等于5
#include<stdio.h> void main(){ int x=8,i; for(;x>0;x--)第二次X=6因为自减了两次第三次X=5第四X=3 第五次x=2第六次x=0,跳出循环, {
if(x%3){//第一次x%3=2为真,第二次6%3=0printf()不会有输出,第三次x%3=2,第四次3%3=0printf()没有输出,第五次2%3=2 printf("%d\n",x--);//第一次输出为8,因为X--是先赋值在自身减一,第二次输出为5,第三次输出2 continue; } printf("%d",--x);//输出-1;因为前减是先减后赋值 scanf("%d",&i);//这是你自己输入一个整数 } }
OK,不知道你能不能看懂。