You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言四则运算程序y==0判断不生效如何修复?除零错误无输出问题

C语言四则运算代码除零无输出问题修复

问题根因

你代码的执行逻辑顺序错误:在判断y是否为0之前,就先执行了division = x/y;的除法运算。当y输入为0时,会直接触发C语言整数除零的未定义行为,程序直接异常退出,无法执行到后续的if判断分支,因此不会输出任何和除法相关的提示。

修复方法

调整逻辑顺序,先判断y的合法性,再执行除法运算,修改后的代码如下:

#include <stdio.h>

int main() {
    int x,y,add,subtraction,multiplication,division;
    printf("Write x:");
    scanf("%d",&x);
    printf("Write y:");
    scanf("%d",&y);
    add = x+y;
    printf("Add=%d\n",add);
    subtraction = x-y;
    printf("subtraction = %d\n",subtraction);
    multiplication = x*y;
    printf("multiplication = %d\n",multiplication);
    // 先判断y是否为0,再执行除法操作
    if (y == 0)
        printf("Operation not permitted\n");
    else {
        division = x/y;
        printf("division = %d\n",division);
    }
    return 0;
}

额外优化建议

  • 如果需要支持小数除法,可以将除法相关变量定义为float或double类型
  • 上述修复代码已在错误提示末尾添加换行符\n,避免输出缓冲区残留导致提示不显示的问题

内容的提问来源于stack exchange,提问作者Vladyslav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 21:06:05