萌新求教,else if无效问题
#include<stdio.h>int main(void)
{
int x,y;
printf("请输入整数x:");
scanf("%d", &x);
if(x>=10)
{
y=2*x+9;
printf("y=%d\n",y);
}
else if(x>0&x<10)
{
y=x+1;
printf("y=%d\n",y);
}
else if(x=0)
{
y=0;
printf("y=%d\n",y);
}
else if(x<0)
{
y=2*x-9;
printf("y=%d\n",y);
}
}
为什么后两个else if 没有结果,似乎只有第一个else if起效,后两个被忽略了,可否解释一下
本帖最后由 jackz007 于 2022-10-24 22:58 编辑
else if(x>0 && x<10)// 有错
{
y=x+1;
printf("y=%d\n",y);
}
else if(x==0) // 有错,会修改 x 的值
上面是已经改正过的代码 我修改了第二个错误之后,发现不用修改第一个错误程序也能进行,请问&和&&有什么区别吗 我修改了第二个错误之后,发现不用修改第一个错误程序也能进行,请问&和&&有什么区别吗 jackz007 发表于 2022-10-24 22:47
上面是已经改正过的代码
我知道,我是说第一个错误那里我仍然只使用一个&而不是两个&,程序也能进行,请问&和&&有什么区别吗 sususususu 发表于 2022-10-24 23:05
我知道,我是说第一个错误那里我仍然只使用一个&而不是两个&,程序也能进行,请问&和&&有什么区别吗
是的, & 是二进制位操作符 and,而 && 是逻辑操作符 and ,二者的操作结果和意义存在着差别。
页:
[1]