C语言选择题,D选项哪里错了呢?

 我来答
匿名用户
2014-06-03
展开全部
其实没有错,那个函数有三个返回值,
如果是相等,返回0
如果前者大于后者,那么返回的就是正数
如果后前者小于后者,那么返回的就是负数。
你的那个题目,我觉得就应该采用D的写法,这样直观,当然,B的写法是简洁的。
你这么想,如果那个题目是判断是否小于。
那是不是应该这样写:if( strcmp( a, b ) < 0 )
如果是判断是否相,是不是该这样写:if( strcmp( a, b ) == 0 )
同理,那么判断是否大于,不就是这样写:if( strcmp( a, b ) > 0 )
说白了,就是和0比较,0就是一个中间值。

代码写好后,可以简化,但是这样做了之后,虽然还是一样,但是可能和原来的理解和最终的代码是不一样的。
另外说一句:课本的习题没必要太在意,我考过计算机二级,出题的人的编写代码的能力我认为不咋地,没有谁规定代码就应该一定要怎么样,只要能达到目的,代码随便写,当然,要学会写出高质量的代码。朋友,建议多动手编程,不要总是拿笔写做程序,动手了,才会发现不足,才会领会代码的内在意义。
追问
嗯 谢谢了。
阳顶天鹿鼎记
2014-06-03 · TA获得超过502个赞
知道小有建树答主
回答量:675
采纳率:100%
帮助的人:398万
展开全部
我觉得这道题的正确答案就是D
A选项因为a和b都是字符串,所以不能直接比较大小;
其他三个选项都是判断strcmp的返回值
strcmp(a,b)返回值大于零说明a大于b
反之a小于或等于b,所以D正确,能够判断a是否大于b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
当我只是2B
2014-06-03
知道答主
回答量:13
采纳率:0%
帮助的人:10.2万
展开全部
strcmp函数本身就有大于的意义,加个大于号多此一举
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式