2017-09-27 44 views
0

我在比較C中的一個int值和一個char值時出現問題。讓我說我的變量int value1是0和一個值爲'0'的char。我知道char的值實際上是一個ascii數字,'0'是48,但是如何將int的0值與字符'0'的值進行比較,以if語句爲例?在C中比較值的問題

+0

」實際上是一個ascii號碼「 - 不一定。 – Bathsheba

+0

'if(int_value == char_value - '0')' – BLUEPIXY

+0

您還應該輸出結果(int)(char_value - '0'),否則編譯器將發出警告。 – SPlatten

回答

2

您可以使用成語c - '0'charc轉換爲等效數字。

這是int類型的表達式。

請注意,它適用於由C標準支持的編碼爲的任何字符,因爲這樣的編碼必須連續排序0至9。 「