quark 发表于 2022-3-14 22:17:41

宏定义的使用纠错,谢谢。

如题:下面程序无法编译,编译错误为:文件中的#if/#endif对不匹配;应该如何修改?求助各位大佬,拜谢啦。

//宏定义,2022.2.19。
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

#define M 12
//#define M 13
//#define M 500
      
#if   M < 13
#undefM
#define M 13
//#error
#if   M < 500
#define N M / 2 - M / 10
#else
#define N M / 5
#endif

int main(void)
{
   printf("M = %d, N = %d", M, N);
   getch();
   return 0;
}

isdkz 发表于 2022-3-14 22:19:33

//宏定义,2022.2.19。
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

#define M 12
//#define M 13
//#define M 500
      
#if   M < 13
#undefM
#define M 13
#endif                   // 加上这行
//#error
#if   M < 500
#define N M / 2 - M / 10
#else
#define N M / 5
#endif

int main(void)
{
   printf("M = %d, N = %d", M, N);
   getch();
   return 0;
}

quark 发表于 2022-3-14 22:24:27

@isdkz,太感谢啦,这里拜谢啦,老大;very good!
页: [1]
查看完整版本: 宏定义的使用纠错,谢谢。