KimLee1895 2017-07-13 02:57 采纳率: 100%
浏览 2082
已采纳

int main(int argc, char *argv[])的具体使用疑惑

long long fabonacci(int n)
{
if (n == 0) return 0; // 基准情况 0
else if (n == 1) return 1;// 基准情况 1
else return fabonacci(n-1) + fabonacci(n-2); // 分解成小问题递归求解
}

int main(int argc, char *argv[])
{
if (argc != 2) {
fprintf(stderr, "Usage: %s N.\n", argv[0]);
return 0;
}

int n = atoi(argv[1]);
fprintf(stdout, "The %dth item in the Fibonacci sequence is %lld.\n",n,fabonacci(n));
return 0;

}

  • 写回答

1条回答 默认 最新

  • 战在春秋 2017-07-13 03:31
    关注

    argc是命令行参数的数目。
    argv是字符串数组,其元素分别是各个命令行参数。

    举例:假如编译后生成的exe文件名为Test,在Dos提示符下输入:
    Test abc efg
    则argc = 3,argv[0] = "Test",argv[1] = "abe",argv[0] = "efg"
    
    题目中假如编译后生成的exe文件名为CaclFabonacci,在Dos提示符下输入:
    CaclFabonacci 15
    则argc = 2,argv[0] = "CaclFabonacci",argv[1] = "15"
    
    

    这样对照再看下题目的程序,应该就明白了。

    如果对您有帮助,请采纳答案好吗,谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?