现在有了代码,实际上对我来说确实不错。在每种情况下,似乎都没有一种方法可以产生无限循环。如果在主函数的末尾添加return(0);
,会发生什么?
我正在尝试实现一个简单的命令行程序,该程序需要三个参数并将其打印在Linux终端上
例如:
>c++ exec.cpp
>./a 32 + 32
应该打印出这样的内容
32
+
32
但是程序无限循环
我已经对argc进行了检查像这样
if(argc!=3) {
cout << "Exit" << endl;
return -9999;
}
如果自变量计数为3
这些代码行应执行
else {
for(int i=0;i<argc;i++){
cout << argv[i] << endl;
}
}
但是正如我在程序无限循环之前所解释的>
编辑:由于要求我在此处发布整个代码,因此它是
#include <iostream>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <string>
using namespace std;
int main(int argc,char* argv[]) {
if(argc!=3) {
cout << "Exit" << endl;
return -9999;
}
else {
for(int i=0;i<argc;i++){
cout << argv[i] << endl;
}
}
}
我正在尝试实现一个简单的命令行程序,该程序需要三个参数并将其打印在linux终端上,例如:> c ++ exec.cpp> ./ a 32 + 32应该打印出类似...的内容。]] >
现在有了代码,实际上对我来说确实不错。在每种情况下,似乎都没有一种方法可以产生无限循环。如果在主函数的末尾添加return(0);
,会发生什么?
[Main
总是必须返回某些内容,并且如果程序设计器没有添加,编译器通常会自行抱怨或自行执行。
哦,您是否为错误消息尝试了cerr
变体而不是cout
?因为之后从主要位置返回,与我提到的崩溃完全相同。
您的代码正在运行...我做了一些修改(例如argc!= 4,i <= argc等)我在Linux系统上使用gcc(g ++)对其进行了编译:
g++ exec.cpp -o a.out
./a.out
输出:
Exit
我跑步时:
./a.out 4 + 3
输出:
4
+
3
现在有了代码,实际上对我来说确实不错。在每种情况下,似乎都没有一种方法可以产生无限循环。如果在主函数的末尾添加return(0);
,会发生什么?
您的代码正在运行...我做了一些修改(例如argc!= 4,i <= argc等)我在Linux系统上使用gcc(g ++)对其进行了编译:
g++ exec.cpp -o a.out
./a.out