你写成2*x就行了,就可以正常输出了
#include<stdio.h>
int main (){
int x;
scanf("%d",&x);
if(x<=0)
printf("%d\n", 0);
else if(x>0 && x<10)
printf("%d\n", x*(x+2));
else if(x>=10)
printf ("%d\n",2*x);
return 0;
}
这个输出应该是20,如果你将x=去掉,结果就是40了,x=x*2等价于x *=2,你可以类比x++(x+=1)就知道了,先执行再运算
你好同学,你的程序里面主要有三个问题:
(1)printf输出的时候直接输出表达式,不需要x=
(2) 第二个if和第三个if有冲突
(3)区间判断语句不要连在一起写,分开用&&表示
代码修正如下
#include<stdio.h>
int main (){
int x;
scanf("%d",&x);
if(x<=0)
printf("%d\n", 0);
else if(x>0 && x<10)//这里的判断要分成两个,中间用&&连接
printf("%d\n", x*(x+2));
else if(x>=10)//你需要输入10,输出20,那么这里x>=10,上一个判断就不需要包含10
printf ("%d\n",2*x);
return 0;
}