Мое логическое выражение выдает либо предупреждение, либо прерывание - PullRequest
0 голосов
/ 04 октября 2018

Я столкнулся с чем-то странным с

gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0

в моей программе.Если я использую форму

 if(IsM = (hi0 ==  I_Q)) {}

, то компилятору не хватает скобок вокруг моего логического выражения, но в остальном код выполняется нормально.Если, чтобы избежать предупреждения, я использую форму

if((IsM = (hi0 ==  I_Q))) {}

, тогда предупреждения нет, но код прерывается.Если я использую

 IsM = (hi0 ==  I_Q);
 if(IsM){}

, то предупреждения нет, и код работает нормально.Я делаю что-то незаконное или я обнаружил какую-то ошибку?

...