永发信息网

C自加自减程序问题

答案:2  悬赏:0  手机版
解决时间 2021-05-01 06:32
  • 提问者网友:练爱
  • 2021-04-30 16:02

#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 ...

最佳答案
  • 五星知识达人网友:鸽屿
  • 2021-04-30 16:55

{if(x%3){
printf("%d\n",x--);
continue;
}
这句打印出来8,后自减1等于7


返回循环--等于6


再次打印--x等于5

全部回答
  • 1楼网友:天凉才是好个秋
  • 2021-04-30 17:21

#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,不知道你能不能看懂。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯