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

ILi*_*les 0 c++

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

我使用g ++编译程序,并试图通过调用./a.out 1来运行它.结果是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;
}
Run Code Online (Sandbox Code Playgroud)

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

pm1*_*100 9

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

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