C语言函数递归的理解
发布网友
发布时间:2022-05-06 23:34
我来回答
共3个回答
热心网友
时间:2023-10-07 14:19
int main(int argc, char *argv[])
main参数 argc 是保存命令的个数,argv 保存命令
例如 test -a -b -c
test程序启动时接受了 4个参数(默认 test也属于一个参数 ),个数保存到argc -a -b -c 保存到argv
递归。我觉得你被这个名气搞晕了而已,其实就很简单,在某个函数中再调用这个函数,就叫递归
例如
int test(int a)
{
return test(a+1); //死循环 ,不断进入test函数 a不断加1。。。。
} //你可以理解为一个for 或者while的另一种形式,反正就是循环,加判断以停止递归调用
热心网友
时间:2023-10-07 14:19
从前有座山,山里有个老和尚,老和尚给小和尚讲故事,从前有座山...”
突然方丈出现,故事讲完了,如果方丈不出现,那就一直出现
方丈做了什么,故事就完了呢?这个就要问你了……
以上是复制CSDN上比较形象的比喻,个人理解大部分递归都可以写成循环
main函数你要怎样理解?
就是运行程序时带的参数呗...
比如 你写一个程序叫a.out 里面的 int main(int argc,char **argv) 这样写main 函数
然后执行的时候./a.out -a -b -c
a.out 后面的字符串就是main的参数,int argc 表示 按空格区分有多少个字符串 这个就是4
char **argv 执行时候的字符串
argv[1]就表示 -a 以此类推 大概是这样.....
很早用linux的时候用过带参数的main
热心网友
时间:2023-10-07 14:20
对于递归,我大致引用一位计算机竞赛教练的话:
皇帝传近臣:帮我算一下1+2+3等于多少
然后近臣传太监:帮我算一下2+3等于多少
太监回近臣:2+3=5
然后近臣回皇帝:1+2+3=1+5=6
这里每个人为一次函数调用。即是说:从头探到尾,在尾处找到答案后,再回传给头。