用户得到我的数组大小,我分配了函数“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]
位置 – &
返回数组插槽的地址 ,而不是评估数组预订。
以上就是c/c++开发分享输入scanf数组,递归函数没有循环(.c)相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/519049.html