| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2137 人关注过本帖
标题:自学C语言。。。自己编的各位看看,哪里错啦。
只看楼主 加入收藏
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
收藏
得分:0 

if(a>b)return a;else return b; 这句话已经包括了所有情况了啊,函数根据这两个条件肯定有返回值了,下面的语句也就不执行了哈! 上面的函数还不如这样写: int max(int a,int b) { return ((a > b) ? a : b); } 或者直接宏定义: #define max(a, b) ( (a) > (b) ? (a) : (b) )


如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2004-09-06 20:08
noah183
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-9-18
收藏
得分:0 

把你写这个程序要做什么的意思写出来啊,你那样说的不清楚

2004-09-18 11:12
bcomer
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2004-9-13
收藏
得分:0 

#include <stdio.h>

int max(int a,int b); main() { int x,y,z; printf("input tuo numbers:\n"); scanf("%d %d",&x,&y); z=max(x,y); printf("maxmun=%d",z); } int max(int a,int b) { if(a>=b)return a;

else return b;

}

可能应该这样写

2004-09-18 11:54
bcomer
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2004-9-13
收藏
得分:0 

what do you want to do ?

2004-09-18 11:54
FOR_LIVE
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2004-9-29
收藏
得分:0 

我想知道对于 if(a=b)..........这一段来说由于等号“=”是一个赋真语句 就是说除非b =0 然后a就会=0 那IF里的语句才不会执行 否则IF里的语句一定会执行 那样的话是不是楼主的程序是不是会十分的混乱呢! 是不是这样理解呢?个人见解各位大虾多指教!!!!!!

2004-09-29 22:11
weixiaohe
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2004-8-6
收藏
得分:0 

哎,郁闷了if(a=b)是嘛意思哦?

2004-10-07 18:18
xueer
Rank: 1
等 级:新手上路
威 望:1
帖 子:511
专家分:0
注 册:2004-10-8
收藏
得分:0 
自学C语言。。。自己编的各位看看,哪里错啦。

int max(int a,int b); main() { int x,y,z; int max(int a,int b); printf("input tuo numbers:\n"); scanf("%d%d",&x,&y); z=max(x,y); printf("maxmun=%d",z); } int max(int a,int b) { if(a>b)return a;else return b;

if(a=b)return a+b;else return a-b;

}

这个那里错拉。。各位高手指点啊!!!!

我是不太懂c ,学的不太好,不过我看第二个if语句确实没用, 还有if 语句里面也可以用象a=b之类的吧 。


2004-10-09 15:33
xueer
Rank: 1
等 级:新手上路
威 望:1
帖 子:511
专家分:0
注 册:2004-10-8
收藏
得分:0 
我觉得应该用两个子函数吧,因为两个IF语句无论怎样都是重复的,要是把他们分别用一个子函数表示的话应该可以实现的。

2004-10-09 15:39
xueer
Rank: 1
等 级:新手上路
威 望:1
帖 子:511
专家分:0
注 册:2004-10-8
收藏
得分:0 

我是这样改的,运行了一下还可以,应该是楼主所要表达的东西吧 ,大家看一看哦

#include <stdio.h>

int max(int a, int b);

int main() { int x, y, z; printf("Please input two numbers:\n"); scanf("%d,%d", &x, &y); z = max(x, y); printf("maxnum = %d\n", z);

z=f(x,y);

getch(); return 0; } int max(int a, int b) { if(a>=b) return a; else return b; } int f(int a,int b) {if(a==b) printf(" a+b=%d",a+b); else printf(" a-b=%d",a-b); }


2004-10-09 15:55
3398152
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2004-10-9
收藏
得分:0 

return a这是什么意思呀...

是不是把大的学负给A呀

指教

2004-10-10 12:27
快速回复:自学C语言。。。自己编的各位看看,哪里错啦。
数据加载中...
 
   



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

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