当前位置: 代码迷 >> C语言 >> 新手求教 关于函数返回的问题
  详细解决方案

新手求教 关于函数返回的问题

热度:155   发布时间:2008-04-17 13:11:02.0
新手求教 关于函数返回的问题
这段代码是求3个数中最大的数 并显示在屏幕上
最开始写的时候 在max函数中少了return(z)函数

#include <stdio.h>
void main()
{
int max(int x,int y);  int a,b,c,d  ;
printf("请输入3位数\n") ;
getch();
scanf( "%d,%d,%d",&a,&b,&c) ;
d=max(a,max(b,c)) ;
printf("最大的数为%d\n",d);
getch();
}

    int max(int x,int y)
    {
    int z   ;
    if(x>y) z=x  ;
    else z=y  ;
    }


结果无论键入什么数都是显示键入的第一个数 这是为什么 ?







改正后:
#include <stdio.h>
void main()
{
int max(int x,int y);  int a,b,c,d  ;
printf("请输入3位数\n") ;
getch();
scanf( "%d,%d,%d",&a,&b,&c) ;
d=max(a,max(b,c)) ;
printf("最大的数为%d\n",d);
getch();
}

    int max(int x,int y)
    {
    int z   ;
    if(x>y) z=x  ;
    else z=y  ;
    return(z)   ;
    }

但无论键入任何数结果都 显示12803

IDE是 WIN-TC

小弟在这先谢谢赐教

[[it] 本帖最后由 black_boy 于 2008-4-17 13:12 编辑 [/it]]
搜索更多相关的解决方案: 函数  

----------------解决方案--------------------------------------------------------
你怎么输入的?


----------------解决方案--------------------------------------------------------
每键入一个数按下空格 3个数后按下回车

像这样
2 3 4
----------------解决方案--------------------------------------------------------
getch();//此句目的是?此意味着你要输入任意一个字符后,才可以输入3个数;
scanf( "%d,%d,%d",&a,&b,&c) ;//既然这里用了逗号间隔,那么输入就少不了逗号。
----------------解决方案--------------------------------------------------------
谢谢
谢谢楼上的同志

按照你说的去尝试了 果然是那样

我看潭浩强教材上他是空格呀 代码也是 ,
晕明天我仔细看看

----------------解决方案--------------------------------------------------------
getch 简直就是多余的嘛
一点必要都没有
----------------解决方案--------------------------------------------------------
也没有头文件 <conio.h>
----------------解决方案--------------------------------------------------------
  相关解决方案