{
	int num1[255], num2[255], sum[255];  //char s1[] = , s2["123456789123456789"];

	char s1[] = "62167219200";
	char s2[] = "1636511102";
	char concat[1000];
	
	int l1, l2; 
	int carry, k, i, j; 	/* convert character to integer*/
		 
	for (l1 = 0; s1[l1] != '\0'; l1++) {
		num1[l1] = s1[l1] - '0';
	}
		 
	for (l2 = 0; s2[l2] != '\0'; l2++) {
		num2[l2] = s2[l2] - '0'; 		
	}

	carry = 0; 
	k = 0; 
	i = l1 - 1; 
	j = l2 - 1;	
 
	for (; i >= 0 && j >= 0; i--, j--, k++) { 
		sum[k] = (num1[i] + num2[j] + carry) % 10; 
		carry = (num1[i] + num2[j] + carry) / 10; 
	} 
	
	if (l1 > l2) { 
		while (i >= 0) { 
			sum[k++] = (num1[i] + carry) % 10; 
			carry = (num1[i--] + carry) / 10; 
		} 
	} else if (l1 < l2) { 
		while (j >= 0) { 
			sum[k++] = (num2[j] + carry) % 10; 
			carry = (num2[j--] + carry) / 10; 
		} 
	} else { 
		if (carry > 0) 
		sum[k++] = carry; 
	} 
	
	sprintf(concat, "%s", "");	
	lr_output_message("concat is %s", concat);	 
	lr_output_message("Result:"); 
	for (k--; k >= 0; k--) {
		sprintf(concat, "%s%d", concat, sum[k]);
	}
	lr_output_message("%s", concat); 	 
	return 0;
}
GoBack