У меня есть код folliwing:Логический тест не в программе с неожиданным выходом
void main()
{
int a=30,b=40,x;
x=(a!=10) && (b=50);
printf("x=%d",x);
}
Вот в результате я получаю x=1
. В операторе &&
условие истинно, только если оба значения истинны здесь, первое верно, т. Е. Не равно 10, но второе - b=50
, что неверно, а также значение x
- это 1 выход. Почему это происходит ?
Проверьте разницу между «=» и «==»! – psmears
должно быть b == 50 – OldProgrammer
Боже, они все еще делают Turbo C? –