[英]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.