C++ C++'\n';打破一段时间的循环

C++ C++'\n';打破一段时间的循环,c++,C++,我正在尝试编写一个程序,该程序将使用get()和put()将输入字符回显到屏幕上,直到用户按“\n”\n”,但只按了一个“\n”。谢谢你的帮助 #include "stdafx.h" #include <iostream> #include <fstream> #include <cstdlib> using namespace std; int main() { char ch1, ch2; do { ci

我正在尝试编写一个程序,该程序将使用get()和put()将输入字符回显到屏幕上,直到用户按“\n”\n”,但只按了一个“\n”。谢谢你的帮助

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;

int main()
{
    char ch1, ch2;
    do 
    {    
        cin.get(ch1);
        cout.put(ch1);
        cin.get(ch2);
        cout.put(ch2);
    } while ((ch1 != '\n') && (ch2 != '\n'));
}
#包括“stdafx.h”
#包括
#包括
#包括
使用名称空间std;
int main()
{
char ch1,ch2;
做
{    
cin.get(ch1);
电流输出(ch1);
cin.get(ch2);
电流(ch2);
}而((ch1!='\n')&&(ch2!='\n');
}

您已经改变了逻辑

} while ((ch1 != '\n') && (ch2 != '\n'));

你在这里说我没有‘n’而没有‘n’,但你有一个‘n’,所以第一部分是错误的,第二句与C++和&表达式/< P>的C++短路无关。 即


总是错误的。

您已经改变了逻辑

} while ((ch1 != '\n') && (ch2 != '\n'));

你在这里说我没有‘n’而没有‘n’,但你有一个‘n’,所以第一部分是错误的,第二句与C++和&表达式/< P>的C++短路无关。 即


始终为false。

您应该使用
|
而不是
&

int main()
{
char ch1, ch2;
do 
{    
cin.get(ch1);
cout.put(ch1);
cin.get(ch2);
cout.put(ch2);
} while ((ch1 != '\n') || (ch2 != '\n'));
}

您应该使用
|
而不是
&&

int main()
{
char ch1, ch2;
do 
{    
cin.get(ch1);
cout.put(ch1);
cin.get(ch2);
cout.put(ch2);
} while ((ch1 != '\n') || (ch2 != '\n'));
}

尝试使用| |而不是&

试着用| |代替&

它应该是
|
,而不是
&
。你不想要((ch1='\n')&&((ch2='\n'))?非常感谢苏尔特的详细阐述。@kevinSeleres接受答案,如果它解决了你的问题,它应该是
|
,而不是
&
。你不想要((ch1='\n')&(ch2='\n'))??非常感谢苏尔特的详细说明。@kevinSeleres接受答案,如果它能解决您的问题