Я хочу, чтобы следующий код печатал 11, но печатал 12, за исключением последнего случая, где печатается 10.
x=5; x1=x+(x=6); printf("%d\n",x1);
x=5; x1=(x=x)+(x=6); printf("%d\n",x1);
x=5; x1=(x+0)+(x=6); printf("%d\n",x1);
x=5; x1=(x=5)+(x=6); printf("%d\n",x1);
x=5; x1=(x=6)+x; printf("%d\n",x1);
x=5; x1=(x=6)+(x=x); printf("%d\n",x1);
x=5; x1=(x=6)+(x+0); printf("%d\n",x1);
x=5; x1=(x=6)+(x=5); printf("%d\n",x1);
gcc в каждом случае говорит: «предупреждение: операция с« x »может быть неопределенной».
Это значит.
Бернхард
PS: Нет вопросов, извините. Спасибо за ваши ответы. :)
PPS: Фактический код:
while ( data-(data=read(adr)&(1<<6)) ) i++;
Я жду, пока бит 6 в adr перестанет переключаться.