janeyjhon 发表于 2017-8-6 14:56:11

这一段程序哪儿有错

#include <stdio.h>

int m;
int a;

void main()
{
       
        scanf("%d",&a);
        if (a<3)
        {
                m=5;
                printf("m=%d",m);
        }
        else(a>3)
        {
                m=7;
                printf("m=%d",m);
        }
       
}

A_Elite 发表于 2017-8-6 15:05:56

c语言程序,变量声明要写在main()函数中。

没尘 发表于 2017-8-6 15:22:09

else后面加上if才可以上条件,如:else if(a>3);否则就直接写else就行了。

丶忘却的年少o 发表于 2017-8-6 15:47:39

楼上说的没错,如果a>=3执行m=7就直接写else,不然就写else if(a > 3)。

A_Elite 发表于 2017-8-6 20:57:55

楼上两位说的是逻辑问题,不是错误,而错误是c语言变量的定义要在main()函数中。

起了很久的名字 发表于 2017-8-7 01:55:49

A_Elite 发表于 2017-8-6 20:57
楼上两位说的是逻辑问题,不是错误,而错误是c语言变量的定义要在main()函数中。

他这个算是定义全局,定义全局的放在main函数上面不行吗?

起了很久的名字 发表于 2017-8-7 01:56:46

应该是else后面不用加条件,else执行的条件是程序不满足与他匹配的if的条件。

逄逄 发表于 2017-8-7 17:28:17

确实是else的问题噢。 要么就直接写else ,表示a>=3的情况,要么就else if(a>3),不能用else(a>3)。
另外以后这种问题可以顺便截图一下编译器报错的内容,会看报错也很重要的。

akhDH 发表于 2017-8-7 21:58:29

A_Elite 发表于 2017-8-6 15:05
c语言程序,变量声明要写在main()函数中。

也有可能是全局变量啊

akhDH 发表于 2017-8-7 21:59:34

起了很久的名字 发表于 2017-8-7 01:55
他这个算是定义全局,定义全局的放在main函数上面不行吗?

说得对

A_Elite 发表于 2017-8-7 23:48:00

起了很久的名字 发表于 2017-8-7 01:55
他这个算是定义全局,定义全局的放在main函数上面不行吗?

你说的对。
页: [1]
查看完整版本: 这一段程序哪儿有错