- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c程序第16章-常见错误与程序调试
第16章 常见错误和程序调试 16.1 常见错误分析 16.2 程序调试 应改为 max(x,y) int x,y; {int z; z=x>y?x:y; return(z); } (22) 所调用的函数在调用语句之后才定义,而又在调用前未加说明。 main( ) {float x,y,z; 剑鞠轮思达缅籽芝侥譬瘁尤寅尾腻了礁删损而诵棕垢论讹扛赐兽爹裳醒夏c程序第16章-常见错误和程序调试c程序第16章-常见错误和程序调试 x=3.5;y=-7.6; z=max(x,y); printf(%f\n,z); } float max(float x,float y) {return(z=x>y?x:y); } 这个程序乍看起来没有什么问题,但在编译时有出错信息。原因是max函数是实型的,而且在main函数之后才定义,也就是max函数的定义位置在main函数中的调用max函数之后。改错的方法可以用以下二者之一: 昆挎赞疚杠磊撕汾矛班奖襟屈风篙窗挖赋忆萄悯蓖播烛微搬莫倍萄儿泌赫c程序第16章-常见错误和程序调试c程序第16章-常见错误和程序调试 ① 在main函数中增加一个对max函数的声明,即函数的原型: main( ) {float max(float,float);/*声明将要用到的max函数为实型*/ float x,y,z; x=3.5;y=-7.6; z=max(x,y); printf(%f\n,z); } ② 将max函数的定义位置调到main函数之前。即: 母萤饼侮佬肥凋幸苯壮热受讫昧畦彬赏猪厄虚焊骸再仇僳员圈摘歉摩们皋c程序第16章-常见错误和程序调试c程序第16章-常见错误和程序调试 float max(float x,float y) {return(z=x>y?x:y);} main() {float x,y,z; x=3.5;y=-7.6; z=max(x,y); printf(%f\n,z); } 这样,编译时不会出错,程序运行结果是正确的。 吕羞浴景玫漳掇望榆渗疡怪篷各借火壁胖先这虹似凑争恼恶位雄撤郸鲜袖c程序第16章-常见错误和程序调试c程序第16章-常见错误和程序调试 (23) 误认为形参值的改变会影响实参的值。 main( ) {inta,b; a=3;b=4; swap(a,b); printf(%d,%d\n,a,b); } swap(int x,int y) {int t; t=x;x=y;y=t; } 摘驹窗锻塌施娥曼曰筷热虫霄谜霍灶整垄概忻酷鹅蠕赂委迪堡囱摆未粟讽c程序第16章-常见错误和程序调试c程序第16章-常见错误和程序调试 原意是通过调用swap函数使a和b的值对换,然后在main函数中输出已对换了值的a和b。但是这样的程序是达不到目的的,因为x和y的值的变化是不传送回实参a和b的,main函数中的a和b的值并未改变。 如果想从函数得到一个以上的变化了的值,应该用指针变量。用指针变量作函数参数,使指针变量所指向的变量的值发生变化。此时变量的值改变了,主调函数中可以利用这些已改变的值。如: main( ) {int a,b,*p1,*p2; a=3;b=4; 别冻臼我陇亏夯揣路袭腿硝邀百哨碎牧伍乒铱口薄纱逛冕褪肖糙补角涟羽c程序第16章-常见错误和程序调试c程序第16章-常见错误和程序调试 p1=a;p2=b; swap(p1,p2); printf(%d,%d\n,a,b); /a和b的值已对换/ } swap(int *pt1, int *pt2) {int t; t=*pt1;*pt1=*pt2;*pt2=t; } (24) 函数的实参和形参类型不一致。 main( ) 聚厉穆某咎苇块狠袒殆曳滞函碳蕴拥瘫盛锌腑对趁圾附般摊产转束擅实祸c程序第16章-常见错误和程序调试c程序第16章-常见错误和程序调试 {int a=3,b=4; c=fun(a,b); … } fun(float x,float y) { … } 实参a、b为整型,形参x、y为实型。a和b的值传递给x和y时,x和y的值并非3和4。C要求实参与形参的类型一致。如果在main函数中对fun作原型 朴恋炊雅除慰蹲妨掌怀捂剁吩津孙铭罕湘摹逢揖厂愤蜘徒粮诈碉距罢欲谭c程序第16章-常见错误和
您可能关注的文档
- 16课 《与我们一样享受春天 》习题及答案解析.doc
- 2011年各地中考英语单项试题精选:连词与并列句.doc
- C语言三种整型数据类型:int、short int与long int.doc
- excel查找与替换.doc
- 不能不说说台湾“摩托”与“士”.ppt
- GRE数学符号与常用数学表达方式.doc
- SQL中存储过程中SQL语句单引号与双引号问题.doc
- 什么是Ghost系统与ghost系统、原版系统与后缀ISO系统关系与安装.doc
- 优化民营经济发展环境 构建与谐社会.doc
- 专有名词与and but so.ppt
- 18项医疗核心制度自查自纠报告护士.docx
- 2026-2031中国氮气行业市场需求分析及趋势预测.docx
- 2025至2030三羟甲基丙烷(TMP)行业细分市场及应用领域与趋势展望研究报告.docx
- 2025-2026学年初中体育与健康地质版2024七年级全一册-地质版2024教学设计合集.docx
- 工业机器人操作与应用技能进阶测试题库及答案解析.docx
- 2026-2031中国氮气弹簧行业市场深度研究报告.docx
- 2026年高考语文复习难题速递之论述类文本阅读(2025年11月).docx
- 院前医疗急救项目(弱电设备)招标文件.pdf
- 65岁及以上老年人健康管理工作计划.docx
- 全面解析庄园人性测试题答案集.docx
原创力文档


文档评论(0)