[英]Input scanf array with recursively function without loops (.c)
用户得到我数组的大小,并且我用函数“ MALLOC”分配内存分配,并仅以递归方式输入数组,没有循环!
我不知道如何用递归函数创建一个“循环”。
希望能得到帮助。
谢谢。
递归不是很好的用法-在这种情况下,循环更“自然”-但想法是这样的函数:
void getInput(int howMany)
{
if (howMany == 0)
return;
// get user input
getInput(howMany-1);
}
因为这似乎是作业,所以我将以伪代码给出面向作业的答案。
define loop(array, index)
if index == 0
return array
array[index] = get input from user
loop (array, index-1)
用loop(array, array_size)
调用它。
我想回应Mat的观点,即这不是对递归的好用。
更新资料
由于您想使用scanf(3)
来读取输入,因此我将就如何使用它给出更强的提示。 上面,我写道:
array[index] = get input from user
您可以使用以下scanf(3)
调用编写此行:
scanf("%d", &array[index]);
这会将一个十进制整数存储到array[index]
位置- &
返回数组插槽的地址 ,而不是评估数组预订。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.