2014-09-16 2 views
-2

Согласно программе ниже, если donuts = 1 она задаст 0 к donuts, но если я бегу это он показывает, что 0 присваивается donuts. Пожалуйста, скажи мне, что я на самом деле смотрю. Потому что, как я вижу этот код пончики должны равняться 12, потому что пончики должны перешедшие в другой:Условный оператор оценки неправильно

#include <iostream> // Header file to enable console I/O 
#include <string> // Header file to enable string 
#include <iomanip> // enables maniplution of io strem 
using namespace std; 

// Begin main Function Definition 
int main() 
{ 
int donuts = 10; 
if (donuts = 1) 
{ 
    donuts = 0; 
} 
else 
{ 
    donuts += 2; 
} 
cout<< donuts; 
system("PAUSE"); 
return 0; 

} 
// End of main function 
+3

Typo, используя '=' вместо '=='. –

+0

Включите/выключите предупреждения компилятора. – chris

+0

Do 'if (1 == donuts)', поэтому вы получите сообщение об ошибке, если повторите ту же ошибку. –

ответ

2
if (donuts = 1) 

должен быть:

if (donuts == 1) 
     //^^^ 

Вы должны использовать логическое равную == или назначения =

+0

Мне стыдно, насколько я выгляжу так .... – hurnhu

Смежные вопросы