回 帖 发 新 帖 刷新版面

主题:判断一个程序的正误

题目是
编写一个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个回复)

沙发

错误好多阿,建议你再看看书

板凳

那有哪些地方错拉,指出
来一 下谢谢

3 楼

编写一个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 楼


没办法
我们学校图书馆只有老版的C学习书,
所以学出来也是很老的格式拉[em1]
谢谢你为我指出错误,
以后请多多指教.

5 楼


这argc, char **argv是什么意思啊!
我看不懂啊
解释一下好不
谢谢

6 楼


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 楼

[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 楼

这种格式在Turbo c++和winTC中都可以编译通过,只是多了警告,定义的参数没有使用

我来回复

您尚未登录,请登录后再回复。点此登录或注册