#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* addLeadingZero(const char* str1, const char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
char* strToPad = (char*)malloc(sizeof(char) * (len1 > len2 ? len1 : len2) + 1);
strcpy(strToPad, "");
int diff = abs(len1 - len2);
if (diff > 0) {
memset(strToPad, '0', diff);
if (len1 > len2) {
strcat(strToPad, str2);
}
else {
strcat(strToPad, str1);
}
}
return strToPad;
}
int main(int argc, char *argv[]) {
const char* str1 = "123";
const char* str2 = "8976753";
const char* result = addLeadingZero(str1, str2);
printf("%s\n", str1);
printf("%s\n", result);
printf("%s\n", str2);
return 0;
}
/*
run:
123
0000123
8976753
*/