Страница 1 из 1

While не понятно работает

Добавлено: 04 дек 2010, 19:46
Lotles
Почему когда ввожу n цикл не прекращается ?

Код: Выделить всё

#include "stdafx.h"
#include "conio.h"
using namespace std;
int main(){
	char letter;
	char* str=new char[50];
	int i=0; 
	cout << "Prodolgit? (Y/N): ";
	do{
      letter = cin.get();
	  str[i]=letter;
	  i++;
	}
	while (letter!='n' || letter!='N');
	str[i]='\0';
   cout << endl << "Vi vveli: " << str << endl; 
}

Re: While не понятно работает

Добавлено: 05 дек 2010, 07:38
Albor
В условии цикла используется операция ИЛИ. Анализируй: ты ввёл 'n', первая операция сравнения (letter!='n') вернёт false, но, так как у нас ИЛИ, будет проверено второе условие, возвращающее true - цикл пошёл дальше.

Re: While не понятно работает

Добавлено: 06 дек 2010, 12:24
BBB
Albor писал(а):В условии цикла используется операция ИЛИ. Анализируй: ты ввёл 'n', первая операция сравнения (letter!='n') вернёт false, но, так как у нас ИЛИ, будет проверено второе условие, возвращающее true - цикл пошёл дальше.
_____ ППКС :)