我为《C 编程语言》一书中的练习 1-20 编写了一个程序。
程序是:
#include <stdio.h>
#include <stdlib.h> /* for atoi() */
main(int argc, char *argv[]) {
int c,i,n;
if (argv[1])
n=atoi(argv[1]);
while((c=getchar())!=EOF) {
if(c!='\t') {
printf("%c",c);
}else
{
for(i=1;i<=n;i++) {
printf(" ");
}
}
}
}
如何在没有 atoi() 函数的情况下将参数传递给 C 语言中的 main() 函数?
最佳答案
程序的所有参数都作为字符串传递,argc
告诉您有多少个,argv
包含实际参数。
如果你需要一个数值,你必须以某种方式转换它们,你可以像你所做的那样使用atoi,或者使用许多库之一来解析选项,比如 getopt
您应该检查argc
而不是检查argv[1]
,所以
if (argc >= 2)
n=atoi(argv[1]);
看看this方便的指南。
关于c - 如何将参数传递给 C 语言中的 main() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37013634/