在c ++中,如果我们让程序从用户那里获取输入,那么它就是一个整数或字符。
在输入之后,下一个输出或下一个输入将自动写入下一行。
#include <iostream>
int main()
{
int a,b;
std::cout<<"Enter two numbers to add\n";
std::cin>>a;
std::cin>>b;
std::cout<< a+b;
}
输出就像这样
Enter two numbers to add
3
5
8
我希望3和5写在同一行..
答案 0 :(得分:1)
您正在寻找的词称为“解析”。您将整个输入作为1变量,并使用适合您的任何方法将其拆分。某些编程语言有一些内置方法,可根据您提供的值将字符串输入分解为数组。您可能需要查看:Split a string in C++?
答案 1 :(得分:0)
输入显示在两条单独的行上与您的程序无关;这是因为,在输入输入时,您在<Enter>
之后按了3
。生成的换行符由您的终端/控制台呈现,而不是您的程序。
使用istream::operator>>( int )
会自动跳过前导空格。因此,您的用户也可以在一行上编写 3 5
。 std::cin>>a;
将使用3
,而std::cin>>b;
会跳过该空格并使用5
。您的终端/控制台将如下所示:
Enter two numbers to add
3 5
8
请注意,这与您的程序代码完全无关。如果用户在数字之间按下<Enter>
,那么除了接管终端/控制台的完全控制之外,你无能为力。
可以完成,在Windows上使用_getch()
,在许多其他系统上使用ncurses
,或者使用相关操作系统提供的任何内容。您将直接读取按键,而终端/控制台不会回显输入的内容。然后你将负责回声,行编辑等。
但这是一个完全不同的问题。