C语言 怎么得到命令行参数传入的整数

如题所述

以int main(int argc, char **argv)
定义主函数
这样命令行参数会存在argv中
再用atoi或者sscanf函数,把字符串转为整型
比如
第一个参数是123
那么 argv[1] = "123"
int a;
sscanf(argv[1], "%d", &a);
这样a=123;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-19
我也遇到这个问题,感谢楼上用sscanf函数的。
int main(int argc,char * argv[])
一。argv是指针,要取出里面的值,*argv[]
二。强制转换 (int) *argv[] ,将argv转成int型
三。因为字符串转成ascii码所以还需处理下,需-48,所以 ,(int)*argv[]-48
以下是我实验时的代码
#include<stdio.h>
int main(int argc ,char * argv[]) {
printf("%d\n",(int)*argv[1]-48);
return 0;
}
执行 ./b3 1
结果 1

我是新手,如有不对,请指正。
第2个回答  2017-01-07
输出到文件,然后文件读取
相似回答