输入数字 n,使用C语言按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
- 用返回一个整数列表来代替打印
- n 为正整数,0 < n <= 5.
以下做法为什么错误?
int* printNumbers(int n, int* returnSize ) {
int max = 0;
while (n)
{
max = max * 10 + 9;
n--;
}
*returnSize = max;
int* a = (int*)malloc(*returnSize* sizeof(int));
for (int i =1; i<=(*returnSize); i++)
{
*a=i;
a++;
}
return a;
}