我用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++.
argv [0]是程序的名称.你需要argv [1]和argv [2]
和BTW - 你得到1的原因是因为atoi在第一个非数字上停止,在你的情况下它会立即停止并在读取程序名时返回零.所以y = 0,x = 1