8

我正在阅读“C++ 编程语言”,我目前的任务是制作一个程序,该程序采用两个变量并确定值的最小、最大、总和、差异、乘积和比率。

问题是我无法开始换行。"\n" 不起作用,因为我在引号后面有变量。而 "<< endl <<" 仅适用于第一行。我用谷歌搜索了这个问题,但我做得很短。

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
inline void keep_window_open() {char ch;cin>>ch;}
int main()
{
    int a;
    int b;
    cout<<"Enter value one\n";
    cin>>a;
    cout<<"Enter value two\n";
    cin>>b;
    (a>b); cout<< a << " Is greater than " << b;
    (a<b); cout<< a << " Is less than " << b;

    keep_window_open();
    return 0;
}
4

2 回答 2

8

您正在寻找std::endl,但您的代码无法按预期工作。

(a>b); cout<< a << " Is greater than " << b;
(a<b); cout<< a << " Is less than " << b;

这不是一个条件,你需要重写它

if(a>b) cout<< a << " Is greater than " << b << endl; 
if(a<b) cout<< a << " Is less than " << b << endl;

你也可以发送角色\n来创建一个新行,我用过endl,因为我认为这就是你要找的。请参阅此线程以了解可能存在的问题endl

替代方案写为

if(a>b) cout<< a << " Is greater than " << b << "\n"; 
if(a<b) cout<< a << " Is less than " << b << "\n";

有一些像这样的“特殊字符”,\n作为换行符、\r作为回车符、\t作为制表符等......知道你是否开始的有用的东西。

于 2012-11-22T04:05:58.620 回答
3

您可以输出std::endl到流以移动到下一行,如下所示:

cout<< a << " Is greater than " << b << endl;
于 2012-11-22T04:04:48.323 回答