| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:c语言初学,大家帮我看看 错在哪里
只看楼主 加入收藏
feng198823
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-12-6
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:7 
c语言初学,大家帮我看看 错在哪里
#include "stdafx.h"

int main(int argc, char* argv[])
{

  int max(int x, int y, int z );


  int a,b,c,d;
    d=max(a,b,c);

    scanf("%d,%d,%d",&a,&b,&c);

printf("max=%d\n",d);
return 0;

}

int max(int x,int y,int z)
{
  int f;

  if (x>y) f=x;  
  else f=y;
    if (x>z) f=x;
  else f=z;
 

  if (y>z)
      f=y;
  else f=z;
 
 


    return f;
}
谁能帮我看看     运行的结果不对  ,哪里逻辑出问题了   谢谢 指点
搜索更多相关主题的帖子: c语言 return include 
2014-12-06 22:06
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:5 
程序代码:
#include <stdio.h>

#define CMPMAX(X,Y)     (X>Y)?X:Y
#define CMPMIN(X,Y)     (X<Y)?X:Y
#define CMPMED(X,Y,Z)   (X!=CMPMAX(X,Y) && X!=CMPMIN(X,Y)) ? X \
                        : ((Y!=CMPMAX(Y,Z) && Y!=CMPMIN(Y,Z)) ? Y : Z)

int max(int a, int b, int c) {
    return ((a > b) ? (CMPMAX(a, c)) : (CMPMAX(b, c)));
}

int min(int a, int b, int c) {
    return ((a < b) ? (CMPMIN(a, c)) : (CMPMIN(b, c)));
}

int med(int a, int b, int c) {
    return (CMPMED(a, b, c));
}

int main(int argc, char* argv[]) {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    printf("MAX = %d\n", max(a, b, c));
    printf("MIN = %d\n", min(a, b, c));
    printf("MED = %d\n", med(a, b, c));

    return 0;
}

Only the Code Tells the Truth             K.I.S.S
2014-12-07 03:17
对林风眠
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2014-12-5
收藏
得分:1 
main函数里不要定义函数
2014-12-07 10:23
某先生0422
Rank: 2
等 级:论坛游民
帖 子:6
专家分:12
注 册:2014-11-20
收藏
得分:2 
main()函数里面不能随便定义变量的。如果你这样定义就是主函数与调用函数混合了。你是先学java?
2014-12-07 18:49
feng198823
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-12-6
收藏
得分:0 
回复 4 楼 某先生 0422
我学的C语言   自学的
2014-12-07 21:22
feng198823
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-12-6
收藏
得分:0 
// x1.cpp : Defines the entry point for the console application.
//

#include <stdio.h>

int main()
{

  int max(int x, int y, int z );


  int a,b,c,d;
    d=max(a,b,c);

    scanf("%d %d %d",&a,&b,&c);

printf("max=%d\n",d);
return 0;

}

int max(int x,int y,int z)
{
  int f,n;

  if (x>y) f=x;  
  else f=y;
    if (f>z) n=f;
  else n=z;
 

    return(n);
}



我把main函数里面的定义给删了   运行结果还是-858993460   貌似输出一个带符号4字节整型,这是为什么呀    我用的是
visual c++6.0   编译器运行的c语言,
2014-12-07 21:52
萧淳
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2014-12-7
收藏
得分:2 
#include "stdio.h"
int max(int x,int y,int z)
{
  int f;
f=x>y?x:y;
return f>z?f:z;
}
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d\n",max(a,b,c));
return 0;
}
2014-12-07 22:40
yanglin_gdqy
Rank: 2
等 级:论坛游民
威 望:3
帖 子:59
专家分:86
注 册:2013-12-2
收藏
得分:10 
图片附件: 游客没有浏览图片的权限,请 登录注册

1----当自定义函数放在main函数之后时,声明应放到mian之前(图中第一处修改)。---将自定义函数放到mian函数之前可免去声明的麻烦。(第7楼)
2----定义的变量需先初始化才可以用,否则它得到的是系统随机分给它的值(图中第二处修改)。
3----代码应最好采用缩进风格,且初学者最好一行代码占放一行。
程序代码:
#include <stdio.h>

int max(int x, int y, int z );
int main()
{
     
    int a,b,c,_max;
    scanf("%d %d %d",&a,&b,&c);
    
    _max=max(a,b,c);
    printf("max=%d\n",_max);
     
    return 0;
}

//求当数x y z的最大值 
int max(int x,int y,int z)
{
    int f,n;

    if (x>y) 
        f=x;  
    else
        f=y;
    
    if (f>z) 
        n=f;
    else
        n=z;

    return(n);

 }


[ 本帖最后由 yanglin_gdqy 于 2014-12-8 02:12 编辑 ]
2014-12-08 02:07
快速回复:c语言初学,大家帮我看看 错在哪里
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047193 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved