不明白一个关于命令行参数的程序

ChrisXiaoxh 2009-09-09 03:19:22
我是一个新手,这是C++ Primer 上的一个程序,不明白,请大虾帮忙解释一下!
#include<iostream>
using namespace std;
int main(int argc,char **argv)
{
//检查命令行参数
if(argc!=3)
{
cout<<"you should use three arguments!"<<endl;
return -1;
}
cout<<"Summation of "<<argv[1]<<" and "<<argv[2]<<" is:"
//使用标准库函数atof将C风格字符串转换为double型数据
<<(atof(argv[1])+atof(argv[2]))<<endl;

return 0;
}

感谢!
...全文
104 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingzhe2001 2009-09-09
  • 打赏
  • 举报
回复
可能楼主不理解参数,在命令行窗口中运行程序,常常可以指定参数
比如你这个程序编译为 a.exe, 那么你再命令行窗口下,cd到你的exe所在文件夹,打命令

a.exe 12 3

其中12 和3就是两个参数,对应到c++程序就是argv[1]和argv[2],
argv[0]中存放的是"a.exe"这个字符串

argv[1] = "12"
argv[2] = "3"

atof()这个函数可以把字符串变为浮点
最后这个程序就是计算12+3,把结果打出来就是15
lbh2001 2009-09-09
  • 打赏
  • 举报
回复
c 1.2 1.3
第一个参数 第二个参数 第三个参数
liao05050075 2009-09-09
  • 打赏
  • 举报
回复
这个程序用来计算两个浮点数的和。
你编译链接后,得到一个exe,比如是叫a.exe
然后你在cmd中运行它,打入命令a 1.1 2.2回车,就可以得到3.3的结果
w0911h 2009-09-09
  • 打赏
  • 举报
回复
笔误,argc是3
[Quote=引用 2 楼 w0911h 的回复:]
比如你生成a.exe文件,执行a.exe b c命令,这就是3个参数,argc就是c,argv[0]是a.exe, argv[1]是b,argv[2]是c
[/Quote]
w0911h 2009-09-09
  • 打赏
  • 举报
回复
比如你生成a.exe文件,执行a.exe b c命令,这就是3个参数,argc就是c,argv[0]是a.exe, argv[1]是b,argv[2]是c
  • 打赏
  • 举报
回复
你那里不明白?

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧