百年孤独i 发表于 2020-8-6 20:36:09

if else

#include <stdio.h>

void main()
{
        int a,b;
        printf("\n input two numbers: ");
        scanf("%d%d",&a,&b);
        if( a > b );
        {       
                printf("max = %d\n",a);
        }
               else;
        {
                printf("max = %d\n",b);
        }
}
illegal else without matching if
执行 cl.exe 时出错.怎么解决 1个error

baige 发表于 2020-8-6 20:36:52

本帖最后由 baige 于 2020-8-6 20:54 编辑

把if else后面的分号去掉就好了
下面是改好的
#include <stdio.h>

void main()
{
         int a,b;
         printf("\n input two numbers: ");
         scanf("%d%d",&a,&b);
         if( a > b )//去掉分号
         {      
               printf("max = %d\n",a);
         }
         else//去掉分号
         {
               printf("max = %d\n",b);
         }
}

livcui 发表于 2020-8-6 20:37:13

#include <stdio.h>

void main()
{
    int a, b;
    printf("\n input two numbers: ");
    scanf("%d%d", &a, &b);
    if (a > b)
    {
      printf("max = %d\n", a);
    }
    else
    {
      printf("max = %d\n", b);
    }
}

云叶 发表于 2020-8-6 21:10:13

if else中的else后面+语句,不需要分号。分号意味着程序执行结束,后面你写的内容就会报错。
页: [1]
查看完整版本: if else