如何在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终端编译运行的步骤:
- 把上面的代码保存成
calculator.c文件(可以用TextEdit或者VS Code等编辑器) - 打开终端,切换到代码所在的目录,比如
cd ~/Desktop - 用Mac自带的
clang编译器编译:clang calculator.c -o calculator - 运行编译好的程序:
./calculator - 要终止程序的话,按下
Ctrl + C即可退出无限循环
内容的提问来源于stack exchange,提问作者alphabet122
相关产品推荐
相关产品推荐

