How to multiply two integers represented as strings and return the result also as a string in C

1 Answer

0 votes
#include <stdio.h>
#include <stdlib.h>

char* multiplyStrings(const char* num1, const char* num2) {
    // Convert strings to integers
    long long int n1 = atoll(num1);
    long long int n2 = atoll(num2);

    // Perform multiplication
    long long int result = n1 * n2;

    // Allocate memory for result string
    char* resultStr = (char*)malloc(20 * sizeof(char)); // Adjust size as needed
    if (resultStr != NULL) {
        sprintf(resultStr, "%lld", result);
    }

    return resultStr;
}

int main() {
    char num1[] = "123";
    char num2[] = "456";

    char* result = multiplyStrings(num1, num2);
    printf("Result: %s\n", result);

    // Free allocated memory
    free(result);

    return 0;
}



/*
run:

Result: 56088

*/

 



answered Jun 5, 2025 by avibootz
...