注册 登录
编程论坛 C语言论坛

哪位前辈可以帮忙指导一下,自学c语言,有些问题不懂

高锦文 发布于 2020-02-06 16:44, 1992 次点击
#include <stdio.h>

void main()
{
    printf("输入三个数:\n");
   int a,b,c,x;
   scanf("%d%d%d",&a,&b,&c);
   if(a>b)
 {
      x=a;
     a=b;
     b=x;
 }
   if(a>c)
{
  x=a;
  a=c;
  c=x;
}
  if(b>c)
{
    x=b;
    b=c;
    c=x;
}
   printf("%d<%d<%d\n",a,b,c);
}



请问这个怎么错了?编译器上一直显示a b c x表意不明还有“int”那一行缺一个;
6 回复
#2
纯蓝之刃2020-02-06 17:04
你想问什么?我试了这个没什么问题啊?你的输入和输出都是什么?具体什么现象
#3
高锦文2020-02-06 17:09
d:\microsoft visual studio\myprojects\未解之题\第三次.c(6) : error C2143: syntax error : missing ';' before 'type'
d:\microsoft visual studio\myprojects\未解之题\第三次.c(7) : error C2065: 'a' : undeclared identifier
d:\microsoft visual studio\myprojects\未解之题\第三次.c(7) : error C2065: 'b' : undeclared identifier
d:\microsoft visual studio\myprojects\未解之题\第三次.c(7) : error C2065: 'c' : undeclared identifier
d:\microsoft visual studio\myprojects\未解之题\第三次.c(10) : error C2065: 'x' : undeclared identifier
执行 cl.exe 时出错.
就是这样的错误...
#4
纯蓝之刃2020-02-06 18:26
你使用的是什么编译器?
程序代码:
#include <stdio.h>

void main()
{
    int a,b,c,x;            //把这个放到函数的最前面试试
    printf("输入三个数:\n");
    scanf("%d%d%d",&a,&b,&c);
    if(a>b)
    {
        x=a;
        a=b;
        b=x;
    }
    if(a>c)
    {
        x=a;
        a=c;
        c=x;
    }
    if(b>c)
    {
        x=b;
        b=c;
        c=x;
    }
    printf("%d<%d<%d\n",a,b,c);
}
#5
高锦文2020-02-06 18:45
回复 3楼 高锦文
好了,谢谢,不过我想问一下这是为什么???
#6
祝你前程似锦2020-02-06 19:10
你不就是想输出最大值吗
#7
叶纤2020-02-06 19:18
因为你的编译器可能只支持c89,c89标准明确规定所有定义要写在块头,如果你的教材比c89新的话建议按编译器来,或者让编译器支持c99,这是排序不是找最大值
1