在线编译器 C

#include <stdio.h> int main() { int num1,num2,num3,sum,mul; scanf("%d %d %d",&num1,&num2,&num3); sum=num1+num2+num3; mul=num1*num2*num3; printf("%d+%d+%d=%d\n",num1,num2,num3,sum); printf("%d*%d*%d=%d\n",num1,num2,num3,mul); return 0; }
这段代码的功能是:从键盘输入三个整数,计算它们的和与积,并分别以“a+b+c=和”和“a*b*c=积”的格式输出。

代码整体逻辑正确,但有一个潜在问题需要注意:

- 变量 `mul` 的类型是 `int`,如果三个数的乘积超过 `int` 类型的范围(例如 1000*1000*1000),结果会溢出,导致输出错误。可以考虑使用 `long long` 类型来存储乘积。

- 另外,`scanf` 的格式字符串中没有空格,但输入时用空格分隔数字是可行的,不过最好在格式字符串中明确写出空格,例如 `"%d %d %d"`,这样更清晰。