Какой результат возвращает эту конструкцию? Я имею в виду переменную результата в main-function и почему? Я знаю, что пример очень странно;)C препроцессор Результат
header1.h файл:
extern const int clf_1;
header2.c файл:
#include "header1.h"
const int clf_1 = 2;
Файл test.h:
#include <header1.h>
#define xyz clf_1
#define NC_CON 2
#if (xyz== NC_CON)
#define test 40
#else
#define test 41
#endif
C файл
#include <header1.h>
#include <test.h>
int main(int argc,char *argv[])
{
int result = 0:
if (test == 40)
{
result = 40;
}
}
Запустить 'gcc -C -E yoursource.c', чтобы узнать –
ye, я сделал это, и результат 41, но я ожидал 40, потому что xyz == clf_1 и clf_1 == 2 – user3930618