主题:判断一个程序的正误
MGTS
[专家分:0] 发布于 2007-04-22 08:11:00
题目是
编写一个C程序,输入a,b,c三个值,输出其中最大者.
main()
{
int a,b,c,e;
scanf("%d,%d,%d",&a,&b,&c);
e=max(a,b,c);
printf("max is %d",e);
}
int max(x,y,z)
int x,y,z;
{int f;
if(x>y)f=x;
elsef=y;
int g;
if(f>z)g=f;
elseg=z;
return(g);
}
第一次编程,请大家给我指出错误,谢谢拉!
回复列表 (共8个回复)
沙发
toudu [专家分:130] 发布于 2007-04-22 17:15:00
错误好多阿,建议你再看看书
板凳
MGTS [专家分:0] 发布于 2007-04-23 12:22:00
那有哪些地方错拉,指出
来一 下谢谢
3 楼
gqhonesty [专家分:2920] 发布于 2007-04-23 16:25:00
编写一个C程序,输入a,b,c三个值,输出其中最大者.
main()
{
int a,b,c,e;
scanf("%d,%d,%d",&a,&b,&c);
e=max(a,b,c);
printf("max is %d",e);
}
int max(x,y,z)//好早以前的定义格式了。
int x,y,z;//改成 int max(int x,int y,int z)
{int f;
if(x>y)f=x;
else f=y;//这里else和f中间来个空格!
int g;
if(f>z)g=f;
else g=z;
return(g);
}
完整的如下:
int max(int x,int y,int z);
int main(int argc, char **argv)
{
int e;
e = max(1,2,3);
printf("%d\n",e);
return 0;
}
int max(int x,int y,int z)
{int f;
if(x>y)f=x;
else f=y;
int g;
if(f>z)g=f;
else g=z;
return(g);
}
4 楼
MGTS [专家分:0] 发布于 2007-04-24 06:54:00
没办法
我们学校图书馆只有老版的C学习书,
所以学出来也是很老的格式拉[em1]
谢谢你为我指出错误,
以后请多多指教.
5 楼
MGTS [专家分:0] 发布于 2007-04-24 06:57:00
这argc, char **argv是什么意思啊!
我看不懂啊
解释一下好不
谢谢
6 楼
MGTS [专家分:0] 发布于 2007-04-24 07:06:00
int max(int x,int y,int z);
int main(int argc, char **argv)
{
int e;
e = max(1,2,3);
printf("%d\n",e);
return 0;
}
看不懂
return 0;为什么为0啊
你为我改写的是用的嵌套格式吗
7 楼
gqhonesty [专家分:2920] 发布于 2007-04-24 13:34:00
[quote]
int max(int x,int y,int z);
int main(int argc, char **argv)
{
int e;
e = max(1,2,3);
printf("%d\n",e);
return 0;
}
看不懂
return 0;为什么为0啊
你为我改写的是用的嵌套格式吗[/quote]
因为你定义的main函数返回值是int型。
这个是VC下的默认
int main(int argc, char **argv)
{
return 0;
}
建议大家都用这个格式!
8 楼
木木竹熊 [专家分:10] 发布于 2007-04-25 17:51:00
这种格式在Turbo c++和winTC中都可以编译通过,只是多了警告,定义的参数没有使用
我来回复