線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1831
推到 Plurk!
推到 Facebook!

有關while()的寫法??2種比較有何不同!!

答題得分者是:暗黑破壞神
Tommy0325
一般會員


發表:5
回覆:4
積分:1
註冊:2007-05-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-07-14 17:44:24 IP:140.126.xxx.xxx 訂閱
我想請教一下,這2種while()的寫法有何不同呢??

(1). while(!CLOCK)
{
};

(2). while((CLOCK)==0)
{
};


請教各位指導一下~~謝謝!!
編輯記錄
 重新編輯於 2007-07-14 18:33:33, 註解 修改文章分類‧
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-07-14 18:53:22 IP:61.225.xxx.xxx 未訂閱
你認為有什麼不一樣呢?
Tommy0325
一般會員


發表:5
回覆:4
積分:1
註冊:2007-05-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-07-16 15:34:15 IP:140.126.xxx.xxx 訂閱
我認為結果是一樣的....

但是我問這個問題...就是要看別人認為怎樣....


大哥....你可以發表一下意見嗎??請不要反問我..謝謝!!
system72
中階會員


發表:15
回覆:114
積分:55
註冊:2005-08-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-07-16 15:53:59 IP:219.80.xxx.xxx 訂閱
如果我沒記錯,

印象有本翻譯的中文書 ,當時也算是滿有份量的,

書名忘記了,大概是 : 如何寫 solid code 的程式, 之類.



剛好有提這個範例 .


書會講的比較仔細, 少說一兩頁的,



可能要去 電腦書店,或圖書館找找, C 或軟工方面的書也許還是會有.



===================引 用 Tommy0325 文 章===================
我認為結果是一樣的....

但是我問這個問題...就是要看別人認為怎樣....


大哥....你可以發表一下意見嗎??請不要反問我..謝謝!!
編輯記錄
system72 重新編輯於 2007-07-16 15:55:24, 註解 無‧
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-07-16 18:46:23 IP:61.225.xxx.xxx 未訂閱
你認為是一樣的。那你希望我要回答它們是”不一樣”的嗎?
要討論也要你先提出你的看法跟你實做的結果。
而不是這樣丟個沒頭沒腦的問題。

===================引 用 Tommy0325 文 章===================
我認為結果是一樣的....

但是我問這個問題...就是要看別人認為怎樣....


大哥....你可以發表一下意見嗎??請不要反問我..謝謝!!
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-07-16 22:45:52 IP:61.64.xxx.xxx 訂閱
有,不一樣,使用第一種的,是不安全的程式碼,漏洞的開端,偷懶的結果
並不是所有編譯器,都是 0 為 False
不過這是初學者的問題,你連書都不看喔 ! 這樣很不好喔 !


===================引 用 Tommy0325 文 章===================
我想請教一下,這2種while()的寫法有何不同呢??

(1). while(!CLOCK)
{
};

(2). while((CLOCK)==0)
{
};


請教各位指導一下~~謝謝!!
handystudio
高階會員


發表:1
回覆:81
積分:106
註冊:2005-03-26

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-07-17 20:42:44 IP:202.39.xxx.xxx 訂閱

===================引 用 Tommy0325 文 章===================
我想請教一下,這2種while()的寫法有何不同呢??

(1).? while(!CLOCK)
? {
? };

(2). while((CLOCK)==0)
????? {?
????? };


請教各位指導一下~~謝謝!!

用Keil C51 做個實驗:
unsigned char clock;
clock = 0;
while(!clock);
while(clock == 0);

組譯後翻成的組合語言如下:
0000 E4 CLR A
0001 FF MOV R7,A
0002 ?C0001:
; SOURCE LINE # 11
0002 EF MOV A,R7
0003 60FD JZ ?C0001
0005 ?C0003:
; SOURCE LINE # 12
0005 EF MOV A,R7
0006 60FD JZ ?C0003
0008 ?C0004:

都是翻成
MOV A,R7
JZ xxxxxx

所以以 Keil C51 來說是一樣的.
------
歡迎光臨 輕巧工作室
網站 http://www.handystudio.tw
控制電路板客製設計、製作交貨
8051專題製作/專題客製
kentlee
一般會員


發表:1
回覆:3
積分:0
註冊:2007-07-18

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-07-21 14:23:57 IP:61.222.xxx.xxx 訂閱
我的想法:
如果CLOCK變數型態是Bit的話,兩種寫法是一樣的。


(1). while(!CLOCK)
{
};


(2). while((CLOCK)==0)
{
};
kentlee
一般會員


發表:1
回覆:3
積分:0
註冊:2007-07-18

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-07-21 14:27:06 IP:61.222.xxx.xxx 訂閱
我的想法: 如果CLOCK變數型態是Bit的話,兩種寫法是一樣的。 (1). while(!CLOCK) { }; (2). while((CLOCK)==0) { };

如果不是Bit的話就會有點不嚴謹
(1) 當CLOCK不等於1,那CLOCK會部會大於1呢?? 那大於1會部會進入迴圈內呢??
(2) 當CLOCK等於0
harrypp
中階會員


發表:7
回覆:124
積分:61
註冊:2006-08-31

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-07-25 15:37:33 IP:210.202.xxx.xxx 訂閱
嗯....小小的疏失,會造成以後跨平台的大漏洞,
尤其型態定義最多這類問題,
這次compiler沒問題,
但難保其他的compiler也ok,
這類的Bug尤其很難抓。
有時乾脆整個重翻新還比較快!
===================引 用 syntax 文 章===================
有,不一樣,使用第一種的,是不安全的程式碼,漏洞的開端,偷懶的結果
並不是所有編譯器,都是 0 為 False
不過這是初學者的問題,你連書都不看喔 ! 這樣很不好喔 !


===================引 用 Tommy0325 文 章===================
我想請教一下,這2種while()的寫法有何不同呢??

(1). while(!CLOCK)
{
};

(2). while((CLOCK)==0)
{
};


請教各位指導一下~~謝謝!!
系統時間:2024-05-11 16:49:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!