Рассмотрим следующий код:
#include <stdio.h>
#define A -B
#define B -C
#define C 5
int main()
{
printf("The value of A is %d\n", A);
return 0;
}
Здесь предварительная обработка должна выполняться следующим образом:
- сначала A следует заменить на -B
- тогда B следует заменить на -C, таким образом выражение, выраженное в - C
- тогда C следует заменить на 5, таким образом, выражение, выраженное в - 5
Таким образом, полученное выражение должно давать ошибку компиляции (ошибка lvalue). Но правильный ответ - 5, как выход может быть 5?
Пожалуйста, помогите мне в этом.