首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请高手解答一下这个程序的运行结果,多谢

2012-03-14 
请高手解答一下这个程序的运行结果,谢谢!#include iostream#include cstdlibusing namespace stdunsi

请高手解答一下这个程序的运行结果,谢谢!
#include <iostream>
#include <cstdlib>
using namespace std;
unsigned long factor(int n)
{
if(n==0) return 1; return (n*factor(n-1));
}
int main(int argc,char *argv[])
{
if (argc!=2){cout<<"Usage:zrf n<cr>";return 1;}
cout<<factor(atoi(argv[1]))<<endl;
return 0;
}

将上面的程序编译为zrf.exe
得出的结果 C:>zrf 5
  120
那个5是什么,120又是怎么来的?

[解决办法]
5*4*3*2*1 = 120

5是输入参数
[解决办法]
这牵涉到带有参数的main函数:
main函数的第一个参数int argc表示参数个数;char *argv[]则用来存储这些参数。
这个程序需要两个参数,第一个参数是exe的文件名(存储在argv[0]),第二个参数是需要输入的数据(存储在argv[1]),整个函数的意思就是调用zrf这个可执行程序,然后传入参数5.

热点排行