两个C问题!

来源:百度知道 编辑:UC知道 时间:2024/05/31 16:56:15
我今天遇到两个看不太懂的题目 请教各位一下:
找出程序错误,并将多余的部分加以简化
1、#include "stdio.h"
main()
{scanf("%f,%f,%f",&max,&min,&median);
if(max==0)
{min=0;
median=(max-min)/2;};
else {min=max/2}
}
这个题我只看出多一个;号

2、#include "stdio.h"
main()
{int x,y;
scanf("%d,%d",&x,&y);
switch(x)
{ case 3: printf("x=3");break;
case y: printf("x=y");break;
default: ;
}
}

我知道不对就是找不出原因 谁教我一下啊 谢谢

第一个你没有看到还少了一个;号吗?而且所有的变量都没有定义.
第二个case后面的必须是常量.

1、#include "stdio.h"
main()
{ float max,min,median;
scanf("%f,%f,%f",&max,&min,&median);
if(max==0)
{min=0;
median=(max-min)/2;
}
else {min=max/2;}
}
2、#include "stdio.h"
main()
{int x,y;
scanf("%d,%d",&x,&y);
switch(x)
{ case 3: printf("x=3");break;
case y: printf("x=y");break; <--case 后面只能是常量!不能是y!
default: ;
}
}

1、#include "stdio.h"
main()
{scanf("%f,%f,%f",&max,&min,&median);
if(max==0)
{
min=0;
median=0;
}
else {min=max/2}
}

第一个 的变量没有定义,第二个switch中的case 后面竟然有y 这是不允许的

第一道的原因 除了多了; 还有 没有定义变量就时候 应该首先定义 int max,min,median;