pragma mark 遞歸的基本概念
pragma mark 概念
/**
什么是遞歸函數 : 函數自己調用自己
*/
使用場景:面試、尋找文件夾的文件
pragma mark 代碼
#include <stdio.h>
void text();
void scanfNumber();
int main(int argc, const char * argv[])
{
// 需求:要求用戶輸入一個大于0的數,如果用戶輸入的數不大于0\
那么就一直重復的提醒輸入更新輸入,直接用戶輸入的值大于0位置
/*
int number = -1;
while (number < 0) {
printf("請輸入一個大于0的整數,以回車結束\n");
scanf("%i",&number);
}
printf("number = %i\n",number);
*/
// 一般情況下,能用循環做得事情,用遞歸函數都能做
// 但是要注意: 不是什么時候都使用遞歸,遞歸要慎用
// 什么是遞歸函數 : 函數自己調用自己
// scanfNumber();
// 注意:遞歸一定要有一個明確的結束條件,否則會造成死循環(無限循環)
text();
return 0;
}
#pragma mark 遞歸 死循環
void text()
{
printf("text\n");
text();
}
void scanfNumber()
{
// 1.結束用戶輸入的值
int number = -1;
printf("請輸入一個大于0的整數,以回車結束\n");
scanf("%i",&number);
// 2.判斷用戶輸入的值是否合法
if (number < 0) {
// 不合法,需要重新輸入
// 函數可以自己調用自己
scanfNumber();
}
else
{
printf("number = %i\n",number);
}
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。