请问为什么在同一个cout语句里,没使用换行符的情况下 输出的内容会自己换行啊?

不影响正常运行,只是好奇为什么会这样


#include <iostream>

int main()
{

    using namespace std;

    int carrots;

    cout << "How many carrots do you have? " << endl;

    cin >> carrots;
    
    carrots = carrots + 2;

    cout << "I have two more here. Now you have " << carrots << "carrots. " << endl;

    cin.get();

    return 0;
}

以下是运行结果:

img

“Now you have ” 这里换行了,可是代码里此处并没有换行符

<< endl;
是c++中的换行符。

其实加 <<endl 后就会有一个换行。下次再用cout输出字符时就会在下一行开始输出,如果不加,就会跟在当前行的最后输出。
可以参考下这个