接受两个参数,以便在C ++中将它们一起添加

时间:2015-10-19 22:39:26

标签: c++

我在C ++中编写了以下内容,以完成我发现的学习任务。目标是接受两个参数并在打印出来之前将它们加在一起。

我使用g ++编译程序并试图通过调用./a.out来运行它.2。结果是1.它似乎没有打印出x + y而只是显示第一个参数。我在这做错了什么?我的期望是我会显示数字3。

#include <iostream>
using namespace std;

int x, y, z;

int main( int argc, char *argv[] ) {
    y = atoi(argv[0]);
    x = atoi(argv[1]);
    z = (x + y);
    cout << z << endl;
    return 0;
}

免责声明 - 这来自教科书,但我不是为了做作业。这是我试图自学C ++。

1 个答案:

答案 0 :(得分:9)

argv [0]是程序的名称。你需要argv [1]和argv [2]

和BTW - 你得到1的原因是因为atoi在第一个非数字上停止,在你的情况下它会立即停止并在读取程序名时返回零。所以y = 0且x = 1