PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 疑難雜症區
帳戶
密碼
 

回應
 
主題工具
IRIX
*停權中*
 
IRIX的大頭照
 

加入日期: May 2002
您的住址: CG WORLD
文章: 448
VC++的幾個問題part01..

各位高手大大好
之前小弟常在此麻煩幾位高手大大
幫忙解答小弟我VC++的問題
而很多大大也非常熱心地傳授小弟我經驗
實在令我受益匪淺 比看書鑽研快又印象深刻
以後為怕搞混,以後小弟我發問都會以同樣的標題再加PartN
希望熱心的諸位高手大大能繼續幫小弟我解惑
感激不盡唷
那麼今天仍有幾個小問題請大家指點囉
(1)在if的敘述中
假設
(a) int a=0;
a +=1;
if (a>=0)
if(a<=100)
{
do something...
}
(b) int a=0;
a +=1;
if ((a>=0)&&(a<=100))
{
do something...
}

(a)及(b)的寫法是否具同等效力,會不會有error或warnng?

(2)"goto start標籤"中,start標籤的宣告方式是否為
start: ,它除了當goto的指標是否還有其他作用?

(3)假設 char data=0;
則if((data>=A)&&(data<=Z))
這樣的寫法ASCII code會知道指的是"A~Z間的字母"嗎?

(4)當compile錯誤時,會顯示第幾行有錯
但當程式一大串時,難道要去數行號?
有沒有其他方式?
     
      
舊 2003-09-08, 11:37 AM #1
回應時引用此文章
IRIX離線中  
harrisonlin
Advance Member
 
harrisonlin的大頭照
 

加入日期: Jun 2003
您的住址: Taipei
文章: 442
(1)為什麼不自己動手試試試呢?簡單的小程式不就可以解決你的疑惑了?

(2)給goto 用的標籤的確只有goto會用上,應是沒有其它用途了。

(3)同(1),何不動手試試?不過可以先告訴你,
data>=A
是說 "變數data的值" >= "變數A的值",而不是'A'的ASCII碼。

(4)如果你是用VC6的話,可以在你想看的錯誤訊息上截2下,或是按Ctrl - G,再輸入你想前往的行號即可!!
 
舊 2003-09-08, 11:47 AM #2
回應時引用此文章
harrisonlin離線中  
IRIX
*停權中*
 
IRIX的大頭照
 

加入日期: May 2002
您的住址: CG WORLD
文章: 448
引用:
Originally posted by harrisonlin
(1)為什麼不自己動手試試試呢?簡單的小程式不就可以解決你的疑惑了?

(2)給goto 用的標籤的確只有goto會用上,應是沒有其它用途了。

(3)同(1),何不動手試試?不過可以先告訴你,
data>=A
是說 "變數data的值" >= "變數A的值",而不是'A'的ASCII碼。

(4)如果你是用VC6的話,可以在你想看的錯誤訊息上截2下,或是按Ctrl - G,再輸入你想前往的行號即可!!

--------------------------------------------------------------------
(1):呵呵,大大您可不要誤會唷.我可不是連試都不試就來這邊發問囉
我試過,compile也過關ok,我問這些問題只是希望能有有經驗的人
來證實我的想法,避免自己因"錯誤的巧合"養成錯誤的觀念,造成
以後寫程式時的困擾,麻煩您了,不好意思唷
(3)大大抱歉,我弄錯了啦
應該是if ((data>='A')&&(data<='Z'))
這樣子它應該就會從字母的ASCII 值去判斷是否在A~Z間了吧?
我compile是ok了,應該就沒錯了吧?

此文章於 2003-09-08 12:29 PM 被 IRIX 編輯.
舊 2003-09-08, 12:18 PM #3
回應時引用此文章
IRIX離線中  
harrisonlin
Advance Member
 
harrisonlin的大頭照
 

加入日期: Jun 2003
您的住址: Taipei
文章: 442
抱歉,那倒是我誤會了!^^動手實做,實在是增加印象與提升功力的不二法門,你我共勉之。

if((condition a) && (condition b))
{
....do something here
}

if(condition a)
{
....if(condition b)
....{
........do something here
....}
}

結果是一樣的,但前者比較簡捷,是比較好的寫法。

if ((data>='A')&&(data<='Z'))和你的預期結果是一樣的。

順道一提,
int a=0;
a +=1;
如果你只是要給a一個值的話,何不寫?
a = 1;
你的寫法隱含了好幾個步驟:
1.把a的的提出來
2.加上1
3.把結果存回a
不但有可能會讓人誤解程式的用意,程式的效率更是不彰...
舊 2003-09-08, 01:28 PM #4
回應時引用此文章
harrisonlin離線中  
IRIX
*停權中*
 
IRIX的大頭照
 

加入日期: May 2002
您的住址: CG WORLD
文章: 448
引用:
Originally posted by harrisonlin
抱歉,那倒是我誤會了!^^動手實做,實在是增加印象與提升功力的不二法門,你我共勉之。

----------------------------------------------------------------
呵呵,大大不用抱歉啦,換作是我
大概也會認為這是個不想實作就想知道成果的傢伙吧
因為以前在專科學工數和一些力學
常因"錯誤的巧合"讓我誤以為我的觀念是正確
也沒有再仔細去向老師或同學求證
結果當然就是一連串的錯誤
所以我養成不但要求觀念正確,還要自己實作的習慣
尤其是程式這種東西,別人寫好的整段看下來都沒問題
自己寫一定問題一大堆的啦

引用:
Originally posted by harrisonlin
if ((data>='A')&&(data<='Z'))和你的預期結果是一樣的。

----------------------------------------------------------------
那麼就是因為 ' ' 這個符號的關係囉,那它就是有拮取字元ASCII code
的功能囉?還是還有其他的妙用呢?

引用:
Originally posted by harrisonlin
順道一提,
int a=0;
a +=1;
如果你只是要給a一個值的話,何不寫?
a = 1;
你的寫法隱含了好幾個步驟:
1.把a的的提出來
2.加上1
3.把結果存回a
不但有可能會讓人誤解程式的用意,程式的效率更是不彰...

-------------------------------------------------------------------
呵呵,果然程式高手腦筋都要很靈活
我只想著初始話就不知不覺給它等於零了
的確像您這樣子的寫法就ok了
感謝您寶貴的經驗談唷
舊 2003-09-08, 02:59 PM #5
回應時引用此文章
IRIX離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是10:43 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2026。