Итак, в моих финалах было упражнение, спрашивающее, что напечатает программа.
Это код:
#include <stdio.h>
int main (){
int x=5, y=4;
if (x>y);
printf("A");
if(x=4)
printf("%d",x+y);
return 0;
}
Когда я пытаюсь скомпилировать его с помощью gcc -ansi -pedantic -Werror
на Машина Debian, она прекрасно компилируется и выдает «A8».
Однако, когда я пытаюсь скомпилировать ее, используя clang -ansi -pedantic -Werror
, я получаю ошибки, касающиеся выражения if (x=4)
, отсутствующего =
и пропущенного оператора if(x>y);
.
Почему это происходит, и какой ответ можно пометить как правильный?