题目含义举例:
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* addToArrayForm(int* num, int numSize, int k, int* returnSize) {
int* res = malloc(sizeof(int) * fmax(10, numSize + 1));
*returnSize = 0;
for (int i = numSize - 1; i >= 0; --i) {
int sum = num[i] + k % 10;
k /= 10;
if (sum >= 10) {
k++; //进位
sum -= 10; //进位后剩余的数值
}
res[(*returnSize)++] = sum;//逆序存储数据
}
//数组处理完后,k值还有剩余,直接将k取余逆序存入数组当中
for (; k > 0; k /= 10) {
res[(*returnSize)++] = k % 10;
}
for (int i = 0; i < (*returnSize) / 2; i++) {
int tmp = res[i];
res[i] = res[(*returnSize) - 1 - i];
res[(*returnSize) - 1 - i] = tmp;
}
return res;
}