Delphi的高手、中手、新手都来看看(From csdn 2002.5)(100分)

  • 主题发起人 主题发起人 blue_morning
  • 开始时间 开始时间
在pascal中把 a=5 和 a;=5 写反了编译器是可以检查出来的
而在c中 a==5 和 a=5 写反了在很多情况下是检查不出来的,我就曾经在此问题上
吃过亏,所以我现在一律写 5==a ,ok 我承认逻辑上有点怪,不过它会为你避免
可能出现的意想不到的错误,想想利弊,难道不值得适应一下这种逻辑吗?
再说你所列举的int b = a >> 8也没什么不好。如果你要取得整数的高8位我相信你
一定会用 int b = a >> 24 不会 去 /xxxx 吧(你如果真是这样写,那才叫看不懂)
如果这样的代码也叫做晦涩难懂,那我们学了这么多年编程究竟在学什么呢?
 
Tuatara:
如果我要取得整数的高8位我不会用 int b = a >> 24 ,为什么?
因为10年前int是16位的,只能用 int b = a >> 8。(开开玩笑。)
我是说
一个整数除以256,怎么写
~~~~~~~~~~~~~~~~~~~~~~~
你却换了个问法“取得整数的高8位”,本来就是两个问题
就像问一个整数右移8位,怎么写?
我当然是 int b = a >> 8;
可是问一个整数除以256,怎么写
我当然写成 int b = a / 256;
不同的问题,不同的写法,虽然结果一样,你说呢?
如果问一个整数除以256,你会怎么写呢?
 
争吵不是我的本意。结束了吧。
SS2000:我最后有一个回复,真正的Delphi的高手没有不懂c/c++的。
 
结束了。谢谢大家
第一次把分分错了,还是来简单的
 
这么快就结束?失望,更加看不起blue_morning
>>最后有一个回复,真正的Delphi的高手没有不懂c/c++的。
你干脆说真正的程序员高手没有不懂c/c++的算了。
 
lldhz, SS2000 我很喜欢你们这种认真的态度,这篇贴子在CSDN上本来就叫“骗子的把戏”。
写这篇贴子的目的无非是想让你今后不要写出下面的这种代码:
if Edit1.ReadOnly = True then

Button1.Enable := False
else
Button1.Enable := True;
而应该写成:
Button1.Enable := not Button1.ReadOnly;
要是你们真的觉得这样的写法不好懂,为什么不把原来的写法作为注释写在旁边呢?
要是所有的程序员都能好好的字离散数学多好呀。唉,可惜我都没有好好学还指望别人。
还有C语言中根本没有BOOL这种类型,那是在windows.h中枚举出来的。
第三种写法根本就是写错了,成了一个永真式:
return (a = 5 ? 1:0); // 注意:代码反而被你改错了!
第四种写法是对的,从这里就说明了为什么C语言中判断时应将常量写在前
return (a == 5 ? 1:0); // 这是以上代码的正确形式!
最后的一种写法应该写成:
return (5 == a) ^ (1 == 0);
写这些贴子只是为了开心的,希望你们看了会开心而不要看了吐血,调整一下心态再来看吧。
我真的很开心,让我再来逗你们玩呀。
要是写一个判断奇偶数的函数,你会怎么写呢?
 
我一直是用0分的形式写的。[:D]
 
一段jsp代码:
<input type="radio"
<%
if ( bCheck) out.print("checked");
%>
name="a" value="a">
我在jsp代码中经常使用:
<input type="radio" <%= check?"checked":"" %> name="a" value="a">
其中java代码是 check?"checked":"" ,返回一个值,被 print 到 html 数据流中。
缩成一行,不是为了经济或者效率,而全是为了可读性。写程序,初中生就会了,但写出可维护的代码就难了。
 
后退
顶部