C++ C++'\n';打破一段时间的循环
我正在尝试编写一个程序,该程序将使用get()和put()将输入字符回显到屏幕上,直到用户按“\n”\n”,但只按了一个“\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
#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接受答案,如果它能解决您的问题