C中的递归打印功能

COD*_*ODe 1 c recursion

该程序目前不输出任何内容.该程序用于获取整数命令行值,然后使用递归打印功能打印多次"测试".我是C的新手,无法弄清楚程序无法正常工作的原因,我没有收到任何编译错误.(仍在努力熟悉gdb)

#include <stdio.h>

void myfunc(int num)
{
    if(num <= 0)
    {
        return;
    }
    else
    {
        printf("%s \n", "Test");
        myfunc(num-1);
        return;
    }
}

int main (int argc, char *argv[])
{
    int i;
    i = atoi(argv[0]);
    myfunc(i);
}
Run Code Online (Sandbox Code Playgroud)

Gri*_*han 6

因为你没有传递一个int:

i = atoi(argv[0]);
              ^
             argument 0 is name of executable 
Run Code Online (Sandbox Code Playgroud)

可能是你的需要:

i = atoi(argv[1]);
Run Code Online (Sandbox Code Playgroud)