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

如何在Mac终端的C编译器中实现带无限循环的算术运算器?

修正后的Mac终端无限循环算术运算器实现

没问题,我帮你把这个带无限循环的算术运算器搞定,先拆解原代码里的几个关键错误,再给你完整的可运行版本:

原代码的主要问题:

  • 未声明变量:sum、product、difference这三个存储结果的变量没有提前声明,直接使用会导致编译错误
  • 错误使用取地址符&:原代码里用&a + &b是对变量的内存地址做运算,不是对变量值计算,应该直接用a和b本身
  • printf格式字符串错误:比如%d + d%是格式符写错了,应该是%d + %d;换行要使用\n而不是乱码的换行
  • 误用shell命令echo:C语言里没有echo,输出提示应该用printf
  • main函数不规范:标准C里main函数应该返回int类型,而非void
  • 未完成的语句:最后那个printf("Di...")没有写完,需要补全完整的输出逻辑

修正后的完整代码

#include <stdio.h>

// 标准main函数写法,返回int类型
int main(void) {
    // 无限循环,直到用户手动终止(Ctrl+C)
    while(1) {
        int a, b;
        // 声明存储结果的变量
        int sum, product, difference;

        printf("Give me an integer a: ");
        // 读取用户输入的整数a
        scanf("%d", &a);

        printf("Give me an integer b: ");
        // 读取用户输入的整数b
        scanf("%d", &b);

        // 正确的算术运算:直接使用变量值计算
        sum = a + b;
        product = a * b;
        difference = a - b;

        // 输出结果,修正格式字符串
        printf("\nHere is your sum, product, and difference:\n");
        printf("Sum: %d + %d = %d\n", a, b, sum);
        printf("Product: %d * %d = %d\n", a, b, product);
        printf("Difference: %d - %d = %d\n\n", a, b, difference);
    }

    // 无限循环不会走到这里,但标准写法保留return
    return 0;
}

在Mac终端编译运行的步骤:

  1. 把上面的代码保存成calculator.c文件(可以用TextEdit或者VS Code等编辑器)
  2. 打开终端,切换到代码所在的目录,比如cd ~/Desktop
  3. 用Mac自带的clang编译器编译:
    clang calculator.c -o calculator
    
  4. 运行编译好的程序:
    ./calculator
    
  5. 要终止程序的话,按下Ctrl + C即可退出无限循环

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:58:20