如何修复第15行:错误:'else'之前的预期表达式

时间:2016-06-29 07:41:23

标签: c

我是C语言的新手,想请求如何解决第15行上的错误:错误:'else'之前的预期表达。

谢谢!

#include<stdio.h>

int n;

main()
{
    printf("Enter your age for qualification:");
    scanf("%d", &n);

    if (n >= 0 && n <= 100);
    {
        if (n <= 0);
        {
            printf("you're still in your mother's womb!");
        }
        else
        {
            (n >= 1 && n <= 17);
            printf("you're too young! you're not qualified!");
        }
        if (n >= 18 && n <= 100) {
            printf("you're qualified to vote");
        } else {
            (n >= 121);
            printf("that's impossible! you're already dead!");
        }
    }

    return 0;
}

3 个答案:

答案 0 :(得分:1)

当你这样做时。

if(n<=0);

你有一个没有if语句。然后else是一个脱离上下文的迷路关键字。

if语句的格式为

if (condition) statement

if (condition) statement else statement

请注意,条件之后没有分号,而是statement的一部分。

if(n<=0);的情况下,末尾的分号是statement,是一个空的陈述。

答案 1 :(得分:0)

为了清除更多内容,您的node语句看起来像这样

if

这是一个if(n<=0) ; ,后面有一个空行,因此没有任何内容被执行。

答案 2 :(得分:0)

    #include<stdio.h>

    int n;
    main()
    {
        printf("Enter your age for qualification:");
        scanf("%d",&n);

      if (n>=0 && n<=100)
      {
        if (n<=0)
        {
            printf("you're still in your mother's womb!");
        }
        else
        {
            /*(n>=1 && n<=17);*/
            printf("you're too young! you're not qualified!");
        }
        if(n>=18 && n<=100)
        {
            printf("you're qualified to vote");
        }
        else
        {
             /*(n>=121);*/
             printf("that's impossible! you're already dead!");
        }
      }

      return 0;  
    }

您的代码应该是什么样的,例如