我尝试编写一个程序,使用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'));
}
答案 0 :(得分:2)
您应该使用const
代替||
&&
答案 1 :(得分:1)
你已经改变了你的逻辑。
} while ((ch1 != '\n') && (ch2 != '\n'));
你在这里说我没有'\ n'并且没有'\ n'但是你有一个'\ n'所以第一部分是假的然后第二个子句与C ++无关||的短路评估&安培;&安培;表达式。
即
false && something
总是假的。
答案 2 :(得分:0)
尝试使用| |而不是&amp;&amp ;.