我想编写一个程序以从命令行接收参数。这就像一种atof()。
我的程序去了:
9 char s[] = "3.1415e-4";
10 if (argc == 1) {
11 printf("%e\n",atof(s));
12 }
13 else if (argc == 2) {
14 //strcpy(s, argv[1]);
15 printf("%e\n",atof(argv[1]));
16 }
1.我应该只使用argv [1]将该字符串传递给我的atof(),还是将其放入s []中?
2.如果最好将它放在s []中,是否有一些内置函数可以完成此“放置”工作?也许像strcpy()这样的函数?
谢谢。
最佳答案
我个人会这样做:
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv)
{
const char defaultStr[]="3.1415e-4";
const char *arg = NULL;
if(argc <= 1)
{
arg = defaultStr;
}
else
{
arg = argv[1];
}
printf("%e\n", atof(arg));
return 0;
}
关于c - 如何在C中从命令行接收arg,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3053287/