woainilp 发表于 2020-5-3 22:19:37

C语言

#include<stdio.h>
void main()
{
int x;
scanf("%d",&x);
if(x>60) printf("%d",x);
if(x>40) printf("%d",x);
if(x>30)printf("%d",x);
}
用单步调试为什么不能调
第一个if不成立,为什么下面两个if继续执行

liuzhengyuan 发表于 2020-5-3 22:22:16

那肯定的呀

huiyu1688 发表于 2020-5-3 22:40:21

#include<stdio.h>
void main()
{
int x;
scanf("%d",&x);
if(x>60) printf("%d(x>60)\n",x);
else if(x>40) printf("%d(x>40)\n",x);
else if(x>30) printf("%d(x>30)\n",x);
else printf("%d\n", x);
}

sunrise085 发表于 2020-5-4 07:14:13

你的写法当然会继续执行了。不管前面的if是否成立,后面的if都会执行。
改成ifelse就只执行其中一个了。

#include<stdio.h>
void main()
{
int x;
scanf("%d",&x);
if(x>60) printf("%d",x);
else if(x>40) printf("%d",x);
else if(x>30)printf("%d",x);
}
页: [1]
查看完整版本: C语言