鱼C论坛

 找回密码
 立即注册
查看: 2373|回复: 5

[已解决]萌新求教,else if无效问题

[复制链接]
发表于 2022-10-24 22:43:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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起效,后两个被忽略了,可否解释一下



最佳答案
2022-10-24 22:47:32
本帖最后由 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 的值
        上面是已经改正过的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-24 22:47:32 | 显示全部楼层    本楼为最佳答案   
本帖最后由 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 的值
        上面是已经改正过的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-24 23:03:20 | 显示全部楼层
我修改了第二个错误之后,发现不用修改第一个错误程序也能进行,请问&和&&有什么区别吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-24 23:03:59 | 显示全部楼层
我修改了第二个错误之后,发现不用修改第一个错误程序也能进行,请问&和&&有什么区别吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-24 23:05:43 | 显示全部楼层
jackz007 发表于 2022-10-24 22:47
上面是已经改正过的代码

我知道,我是说第一个错误那里我仍然只使用一个&而不是两个&,程序也能进行,请问&和&&有什么区别吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-24 23:17:28 | 显示全部楼层
sususususu 发表于 2022-10-24 23:05
我知道,我是说第一个错误那里我仍然只使用一个&而不是两个&,程序也能进行,请问&和&&有什么区别吗


        是的, & 是二进制位操作符 and,而 && 是逻辑操作符 and ,二者的操作结果和意义存在着差别。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-20 13:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表