在while循环中使用常量(c)

时间:2014-02-26 06:14:15

标签: c

我有以下c代码。

#include <stdio.h>

#define MAX_NUMBER 100;
#define MIN_NUMBER 10;

int main()
{
        printf("\nThis is a wonderful test for loops\n");

        int i = 12;
        while(i < MAX_NUMBER)
        {
                printf(" The value of i is %d \n", i);
                i += 10;
        }

        return 0;
}

编译时,我收到以下错误消息。

loop.c: In function ‘main’:
loop.c:11: error: expected ‘)’ before ‘;’ token

但是如果在while循环中替换MAX_NUMBER,它会编译并顺利运行。请告诉我如何在while循环中使用常量。

5 个答案:

答案 0 :(得分:2)

您最后使用;定义了您的宏:

#define MAX_NUMBER 100;
#define MIN_NUMBER 10;

while看起来像这样......

   while(i < 100;)

...并且编译器正确地抱怨:在)之前预期;

删除分号。

答案 1 :(得分:2)

不要在你的#defines中放置半色调!

#include <stdio.h>

#define MAX_NUMBER 100
#define MIN_NUMBER 10

int main()
{
        printf("\nThis is a wonderful test for loops\n");

        int i = 12;
        while(i < MAX_NUMBER)
        {

答案 2 :(得分:2)

在以下宏的末尾删除分号

#define MAX_NUMBER 100;
#define MIN_NUMBER 10; 

应该是

#define MAX_NUMBER 100
#define MIN_NUMBER 10

您的代码将按此转换

#include <stdio.h>

#define MAX_NUMBER 100;
#define MIN_NUMBER 10;

int main()
{
        printf("\nThis is a wonderful test for loops\n");

        int i = 12;
        while(i < 100;)
        {
                printf(" The value of i is %d \n", i);
                i += 10;
        }

        return 0;
}

由于while条件语句中的分号,您将收到错误。 条件应该是

  while(i < 100)

答案 3 :(得分:1)

作为您的代码,编译器将其“翻译”为:

while(i < 100;)

您知道如何修改代码吗?

答案 4 :(得分:0)

检查define关键字的语法及其使用一次。

#define token [value]

如果任何语句以#符号开头,则不必以半冒号(;)结束。