开发环境:32位的win7,已安装jdk及MinGW,按照http://blog.csdn.net/baimafujinji/article/details/38026421安装并配置环境变量。
写了一个测试输入参数的程序,代码如下。
#include <iostream>
using namespace std;
int main() {
string s;
cin >> s;
cout << “s=” << s << endl;
cout << “!!!Hello World!!!” << endl;
return 0;
}
编译,在Run Configuration–Arguments中输入参数qq,点击apply–run,此时没有任何输出,点击红色方框(Terminate),才有如下所示的输出。
s=
!!!Hello World!!!
问题1:为什么输入的参数qq,没有显示出来?
问题2:为什么点击run时没有输出,而是点击红色方框之后才有输出?
求各位高手指导。
写了一个测试输入参数的程序,代码如下。
#include <iostream>
using namespace std;
int main() {
string s;
cin >> s;
cout << “s=” << s << endl;
cout << “!!!Hello World!!!” << endl;
return 0;
}
编译,在Run Configuration–Arguments中输入参数qq,点击apply–run,此时没有任何输出,点击红色方框(Terminate),才有如下所示的输出。
s=
!!!Hello World!!!
问题1:为什么输入的参数qq,没有显示出来?
问题2:为什么点击run时没有输出,而是点击红色方框之后才有输出?
求各位高手指导。
解决方案
30
你的代码中有
cin >> s;
程序在等待输入,所以没有立刻输出。
将这一句注释就会直接打印!!!Hello World!!!了
cin >> s;
程序在等待输入,所以没有立刻输出。
将这一句注释就会直接打印!!!Hello World!!!了
10
建议你还是先复习一下C语言基础
cin >> s;是从标准输入(一般是控制台)获取输入字符串,你的qq并不是放在标准输入流(stdin)中。
你是想从命令行参数获取输入数据,而命令行参数是保存在argv数组中的,也就是你的Arguments中填入的qq保存在argv数组中,argv[1]的内容为qq
cin无法从argv中获取数据
cin >> s;
cout << “s=” << s << endl;
改成
// cin >> s;
cout << “s=” << argv[1] << endl;
就是你想要的效果了