[英]Recursive Printing Function in C
该程序当前不输出任何内容。 该程序应采用整数命令行值,然后使用递归打印功能打印“测试”该次数。 我是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);
}
因为您没有传递int:
i = atoi(argv[0]);
^
argument 0 is name of executable
可能是您的需求:
i = atoi(argv[1]);
argv[0]
保存可执行文件的名称,因此当您运行可执行文件时:
program.out 1 2
argv[0] will be "program.out", (they are all strings)
argv[1] will be "1",
and argv[2] will be "2".
只是为了完整起见,argc将保存argv中的元素数,因此在这种情况下argc will be 3 (integer 3, not string"3").
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.