char * multiply(char * num1, char * num2) { int len1 = strlen (num1); int len2 = strlen (num2); int i, n1 = 0, n2 = 0, n, len = 0; char* num; for (i = 0; i < len1; i++){ n1 = n1 * 10 + num1[i] - 48; } for (i = 0; i < len2; i++){ n2 = n2 * 10 + num2[i] - 48; } n = n1 * n2; if (n == 0){ len = 1; }else{ while (n != 0 || n % 10 != 0){ n = n / 10; len++; } } n = n1 * n2; num = malloc(sizeof(char) * (len + 1)); for (i = len - 1; i >= 0; i--){ num[i] = n % 10 + 48; n = n / 10; } num[len]='\0'; return num; }