我正在尝试编写一个函数,该函数将生成一个从 1
到 n
的连续数字数组。例如,我希望 array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
。我的代码似乎没有运行,但我不完全知道为什么。
int count (int a)
{
scanf("%d", &a);
int i;
int array[a];
do
{
i = 0;
a = a - i;
array[a - 1] = a;
i++;
}
while (a > 0);
printf("Resulting array is %d", array[a]);
return 0;
}
最佳答案
一种惯用的 C 方法是定义一个填充现有数组的函数:
void count(int *array, int max)
{
for (int i = 0; i < max; ++i)
{
array[i] = i+1;
}
}
你可以调用它,例如像这样:
int arr[10];
count(arr, 10);
for (int i = 0; i < 10; ++i)
{
printf("%d ", arr[i]);
}
关于在C中创建一个从1到n的连续数字数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45591891/