C语言实现,输入2个有符号整数,以逗号隔开,输出2数的结果,若溢出则输出err
时间: 2024-03-13 12:43:11 浏览: 23
好的,我可以为您提供C语言代码实现。以下是代码:
```c
#include <stdio.h>
#include <limits.h>
int main() {
long long num1, num2, result;
char comma;
printf("请输入两个有符号整数,以逗号隔开:");
scanf("%lld%c%lld", &num1, &comma, &num2);
if (comma != ',') {
printf("输入格式不正确!\n");
return 0;
}
if ((num1 > 0 && num2 > LLONG_MAX - num1) || (num1 < 0 && num2 < LLONG_MIN - num1)) {
printf("err\n");
} else {
result = num1 + num2;
printf("%lld\n", result);
}
return 0;
}
```
该程序首先提示用户输入两个有符号整数,并以逗号隔开,然后使用 scanf 函数读取输入。如果输入格式不正确,则程序会输出相应的错误信息。如果两个数相加导致溢出,则输出 "err",否则输出两个数的和。
值得注意的是,为了避免溢出,我们使用了 long long 类型来存储输入的整数。在 C 语言中,long long 类型通常可以表示比 long 类型更大的整数,因此可以保证程序的正确性。