2012-10-06 44 views
0

我們發現C在使用幻數時會編譯日誌函數,但不會與變量一起使用。有任何想法嗎?爲什麼C不用變量編譯日誌,但用幻數編譯?

+1

您正在尋找「字面常量」一詞。 「幻數」不是「文字常量」的可接受的同義詞。 – Kaz

+0

我的意思是在硬編碼數字中的幻數。 http://www.cplusplus.com/doc/tutorial/constants/顯示文字常量意味着分配給變量的基數爲10的數字。我明白這是正確的嗎?你能解釋一下嗎?謝謝 – Will

+0

從一般意義上講,跨越各種編程語言,文字都是程序本身(而不是運行時輸入)的一部分的任何類型的數據項:字符文字,字符串文字,數字文字甚至是複雜的數據結構文字。常量是程序中具有不變值的表達式。常量可以是符號(定義符號),也可以是文字。文字不一定是恆定的,但當它們不是時,它會產生自修改代碼:改變文字就是改變程序。 – Kaz

回答

4

因爲您沒有將您的程序鏈接到數學庫和文字,您的編譯器可能使用了內建函數。

隨着gcc你會得到與文字​​相同的錯誤。

鏈接以lib數學是這樣的:gcc bla.c -o bla -lm

0

我們發現,這是因爲C編譯器的版本。較新的版本似乎更好地支持日誌。

+0

沒關係ouah岩石! – Will

相關問題