English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

我想請問一下浮點數float.double.和long double的值域該怎麼計算範圍呢?(請附詳細的計算過程)謝謝︿︿

2007-03-22 21:30:47 · 1 個解答 · 發問者 1 in 電腦與網際網路 程式設計

這題的計算方式我已經找到了~
我現在想問的是char letter = 'A'; 和 char letter('A');比較
書上說後者含有呼叫函數
那所呼叫的函數 名稱是什麼呢?
那個函數又有什麼特性呢?
(我還是會把知識點數給回答出這個問題的人的~)

2007-03-31 11:13:46 · update #1

1 個解答

letter = 'A' 是把 'A' 的值 (65) 設定給變數 letter。
letter('A') 是把 'A' 的值(65) 當參數傳給函數 letter( )。簡言之,函數是一個副程式。
它會幫你算東東,會傳回一個值。

不過,這個值可能是:
 整數、小數、字串、指標、結構、沒東東(void)
為了方便看程式,函數/副程式的名字盡量要讓人(包括自己)一看就知道它是在做啥。
如:letter( ); 它就不是很好。
 我們只知道它應該會處理一個字母。
 但,做什麼處理?不知!!
 要知道,〝請〞去看程式!
 哪來那麼多時間去看啊!?


2007-04-03 03:21:23 補充:
我開學了,今天是最後一天會上來看問題。
要是我回答的你筧得還有問題,看不懂。
請 post 出問題後,寄信給我。
我會再上來補充。

2007-04-04 12:52:32 補充:
letter( ) 應該不是 C / C++ 的標準函式。
那應該是書舉的例子不好!
C 是不可以那樣命名的!
C++ 應該可以。

letter('A') 到底做了什麼,就要看 letter( )是怎麼寫的了。
它可以是
letter( char x)
{ cout << x; }
根沒有 assign

程式師有命名權,只要不要和 語言/Compiler 內定的名字相沖就可以了。
程式師高興命名 letter, letter( ), letter1( ), letter_( ), _letter( ),沒人管得著!

2007-04-05 09:51:17 補充:
C++ 應該沒有 letter('A') 這函數。
你要不要看一下書有沒有 附 CD?
可能在那 CD 裡有!

較學術的講法:
char letter('A');
暗示:曾經有人定義了一個 name,這個 name 是 函數形式,接受 char, 傳回 char。
而這個 name,在 compile Time 時叫 letter,compile 完,〝理論上〞這個 name 被換成一個位址。

在 C / C++,變數和函數 都是 name!!

這就是為什麼我說:那書應該是寫錯了。

2007-04-05 09:51:39 補充:
char letter(char a); 這函數可以寫為:

char LETTER; // 宣告一個全域變數,叫 LETTER。
// 註:在 C,同 scope下,函數不能和變數同名;C++ 應該可以。
// 所以我用大寫。在 C/C++ 都不會錯。

char letter(char a)
{ LETTER = a;
return LETTER;
}
這樣,它就類似你講的:〝定義了一個變數letter並且完成初始化〞

2007-04-02 23:19:52 · answer #1 · answered by ? 7 · 0 0

fedest.com, questions and answers