m0_69473531 2022-04-17 23:51 采纳率: 78.6%
浏览 41
已结题

关于#c++#的问题,请各位专家解答!

x=0
if(x>0) y=1;
else if(x=0) y=0;
else y=-1;
printf("%d",y);
y为什么等于-1,不是0??

  • 写回答

2条回答 默认 最新

  • A-Chin 2022-04-18 00:03
    关注
    x=0;
    if(x>0) y=1;
    else if(x=0) y=0;
    else y=-1;
    printf("%d",y);
    

    如果这个代码没问题的话,这样说,第一次判断不满足,到else if,这时x被赋值为0,判断变成了else if(x),此时x的值如果为0的话,就为false,执行else中的代码。

    我觉得楼主else if中是想判断x为0的情况,这时候改成else if(x==0) y=0;

    x=0;
    if(x>0) y=1;
    else if(x==0) y=0;
    else y=-1;
    printf("%d",y);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月18日
  • 已采纳回答 5月10日
  • 修改了问题 4月17日
  • 创建了问题 4月17日

悬赏问题

  • ¥15 基础的图像处理问题求解答
  • ¥50 全国两定智慧医保接口开发相关业务文档,以及技术实现流程文档
  • ¥15 idea做图书管理系统,要求如下
  • ¥15 最短路径分配法——多路径分配
  • ¥15 SQL server 2022安装程序(英语)无法卸载
  • ¥15 关于#c++#的问题:把一个三位数的素数写在另一个三位数素数的后面
  • ¥15 求一个nao机器人跳舞的程序
  • ¥15 anaconda下载后spyder内无法正常运行
  • ¥20 统计PDF文件指定词语的出现的页码
  • ¥50 分析一个亿级消息接收处理策略的问题?