| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2346 人关注过本帖
标题:这程序那里错误了,帮找找?
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
在scanf()后面加一行,自己看看是什么:

printf("a = %d, b = %d\n", a, b);

授人以渔,不授人以鱼。
2011-07-31 20:45
风生钧起
Rank: 4
来 自:江西
等 级:业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
收藏
得分:0 
求解释  楼主定义的这个函数 int max(int x,int y); 怎么没出问题

墨一世红颜倾醉己    霁天谁与话风流

修仙``````````````````````````````````````````````
2011-07-31 20:48
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
奇怪,老谭的书没讲怎么调试程序的么?

授人以渔,不授人以鱼。
2011-07-31 20:48
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用风生钧起在2011-7-31 20:48:21的发言:

求解释  楼主定义的这个函数 int max(int x,int y); 怎么没出问题


当然没问题了,你看看测试结果:
图片附件: 游客没有浏览图片的权限,请 登录注册

授人以渔,不授人以鱼。
2011-07-31 20:50
风生钧起
Rank: 4
来 自:江西
等 级:业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
收藏
得分:0 
不是调试问题    我编这程序 根本就不是这样的
求解释下

墨一世红颜倾醉己    霁天谁与话风流

修仙``````````````````````````````````````````````
2011-07-31 20:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 25楼 风生钧起
pwy520xiao 是你的马甲?

授人以渔,不授人以鱼。
2011-07-31 20:52
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
根本原因是你们没意识到scanf()是一个布满陷阱的函数,但却大量使用。

授人以渔,不授人以鱼。
2011-07-31 20:54
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用lz1091914999在2011-7-31 20:43:40的发言:

格式试化串里面既然有逗号,输入的时候就应该输入逗号。


程序有提示输入者应该采用什么格式吗?如果人家偏不按那格式输入,你怎么办?出个错误提示,关闭程序了事?

授人以渔,不授人以鱼。
2011-07-31 20:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
正确的解释是:程序在获取a、b数据的时候就已经出错了,此时还没到max()函数的执行,自然与它无关。事实上,这样输入读得的b是负数,当然比5小,所以max()返回最大值为5是正确的。

授人以渔,不授人以鱼。
2011-07-31 21:01
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 28楼 TonyDeng
这还不简单:
程序代码:
#include <assert.h>
int a = 0, b = 0;
scanf("%d, %d", &a, &b);
assert(a && b);

//...


My life is brilliant
2011-07-31 21:04
快速回复:这程序那里错误了,帮找找?
数据加载中...
 
   



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

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