免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 剑击长空
打印 上一主题 下一主题

C条件表达式与0值比较的问题 [复制链接]

论坛徽章:
0
41 [报告]
发表于 2007-04-07 15:09 |只看该作者

回复 38楼 flw 的帖子

哈哈,程序员可以有自己的风格啊,比如把赋值和判断写到一起的事情,照你这么说连 i += 1 都不适合了?
语言是死的,人是活的

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
42 [报告]
发表于 2007-04-07 15:12 |只看该作者
原帖由 namei 于 2007-4-7 15:09 发表
照你这么说连 i += 1 都不适合了?

哥们,说话要注意逻辑,请问你是如何“照”的?

论坛徽章:
0
43 [报告]
发表于 2007-04-07 15:16 |只看该作者
原帖由 flw 于 2007-4-7 15:12 发表

哥们,说话要注意逻辑,请问你是如何“照”的?

不用争了,这本来就是习惯问题。

论坛徽章:
0
44 [报告]
发表于 2007-04-07 15:16 |只看该作者
原帖由 flw 于 2007-4-7 15:12 发表

哥们,说话要注意逻辑,请问你是如何“照”的?


原来是斑竹,那就不造次了。这个推论纯属个人臆想。再说代码风格自由,我先下了  

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
45 [报告]
发表于 2007-04-07 15:21 |只看该作者
原帖由 namei 于 2007-4-7 15:16 发表

这个推论纯属个人想。

“臆”字用的不错,活灵活现,我接受这个道歉。
好了,没事了。

论坛徽章:
0
46 [报告]
发表于 2007-04-07 15:37 |只看该作者

回复 38楼 flw 的帖子

1,永远不要把赋值运算的作为语句的一部分,包括但不限于将赋值运算的结果当作判断条件,应该用如下的代替方法:
ret = call_foo( ... );
if ( ret .... )

任何事情无绝对,这得看你的使用环境
就拿C++里面的例子,有如下代码:

  1. Base *basePtr;
  2. // other statements
  3. if (Derived *deirvedPtr = dynamic_cast<Derived*>(basePtr)) {
  4.     // use the Derived object
  5. } else {
  6.     // use the Base object
  7. }
复制代码

这段代码的好处是简洁而又安全

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
47 [报告]
发表于 2007-04-07 15:43 |只看该作者
原帖由 tyc611 于 2007-4-7 15:37 发表

任何事情无绝对,这得看你的使用环境
就拿C++里面的例子,有如下代码:
[code]
Base *basePtr;
// other statements
if (Derived *deirvedPtr = dynamic_cast<Derived*>(basePtr)) {
    // use th ...

这种情况太多了,但是其后果就是通常没法在标准的 24 * 80 终端上完整地显示一行。
当然了,编程风格问题,属于谁也不能说服谁的问题。

论坛徽章:
0
48 [报告]
发表于 2007-04-07 15:45 |只看该作者
原帖由 flw 于 2007-4-7 15:43 发表

这种情况太多了,但是其后果就是通常没法在标准的 24 * 80 终端上完整地显示一行。

能说说这个吗?不懂,请教下下

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
49 [报告]
发表于 2007-04-07 15:53 |只看该作者
原帖由 tyc611 于 2007-4-7 15:45 发表

能说说这个吗?不懂,请教下下

就是说,我个人,强调一下,仅仅是我个人而已。我个人非常不喜欢一个长长的行,到底多长就算长呢?就是说超出了我常用的终端的屏幕宽度。现在的液晶屏大一些了,还好一些,否则长行太难看了。
即使如此,我现在写程序还是从来不把赋值语句作为 if while 等语句的条件。

BTW:一般来说大多数终端的宽度都要超过 79 列,但是因为有缩进,因此可供我们写程序的空间并不是很大。

评分

参与人数 1可用积分 +1 收起 理由
langue + 1

查看全部评分

论坛徽章:
0
50 [报告]
发表于 2007-04-07 16:34 |只看该作者
原帖由 flw 于 2007-4-7 15:53 发表

就是说,我个人,强调一下,仅仅是我个人而已。我个人非常不喜欢一个长长的行,到底多长就算长呢?就是说超出了我常用的终端的屏幕宽度。现在的液晶屏大一些了,还好一些,否则长行太难看了。
即使如此,我现在 ...

哦,了解了,其实现在用C++/Java编写的程序有很多语句是很长的,没办法避免
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP