有好人帮我看下这个到底是哪里出错了吗,每次输入就跳出来说未经处理异常
查看原帖
有好人帮我看下这个到底是哪里出错了吗,每次输入就跳出来说未经处理异常
447562
像素旋转楼主2021/1/7 16:02
#include<string.h>
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b
int main()
{
	int i,num;
	int num1, num2;
	int arr1[2000] = { 0 }, arr2[2000] = { 0 }, arr3[2000] = {0};
	char str[2000] = {0};
	scanf("%s",str);
	num1=strlen(str);
	for (i = 0; i < num1; i++)
		arr1[i] = str[num1-1-i]-'0';
	 scanf("%s",str);
	num2=strlen(str);
	for (i = 0; i < num2; i++)
		arr2[i] = str[num2 - i - 1] - '0';
	//此时已经存了两个正向整形数了
	for (i = 0; i < max(num1, num2); i++) {
		arr3[i] = arr1[i] + arr2[i];
	}
	if (arr1[max(num1, num2)] != 0)
		num = max(num1, num2) + 1;
	for(i=0;i<num;i++)
		if (arr3[i] > 9) {
			arr3[i] %= 10;
			arr3[i + 1] += 1;
		}
	for (i = 0; i < num; i++)
		printf("%d", arr3[i]);
	getchar();
	getchar();
	return 0;
}
2021/1/7 16:02
加载中...