使用带有常量变量的if语句时收到错误 - C.

时间:2015-02-19 06:22:23

标签: c constants

我的标题后面有#define MAX_PERSONS = 20;。 我正在尝试做一个if语句,我将int p与MAX_PERSONS

进行比较
int checkString(char string[]){
   int p = strlen(string);
   printf("\n\t\t%s is %d characters long\n", string, p);
   if (p < MAX_PERSONS){
       return 1;
   }
   if (p > 20){
       return 0;
   }
}

我收到此错误menu.c:80:10: error: expected expression before ‘=’ token。 但是,如果我将MAX_PERSONS切换为20,就像我对第二个if语句所做的那样,它可以工作。

我想知道是否有人能让我知道为什么会这样,以及我如何使用常数值。谢谢!

1 个答案:

答案 0 :(得分:4)

替换

#define MAX_PERSONS = 20;

#define MAX_PERSONS 20

#define是一个pr-processor指令,它在编译之前将MAX_PERSONS替换为后面的文本。