2013-02-06 58 views
-2
#include <stdio.h> 

int main () { 
    int n; 
    n = 0; 
    printf ("%c\n", n); 

    return 0; 
} 

這是我的代碼,但是當我打印它時,它只是打印一個空白區域。不應該打印0嗎?printf()使用%c格式的代碼沒有打印我期望的內容

+3

改爲使用%d。 – Rapptz

+2

嘗試瞭解爲什麼要打印「空白區域」是個很好的做法。 – Maroun

+1

'%c'打印一個字符。字符0顯示爲空白。將變量'n'設置爲值'65',它將打印一個大寫的'A'字符。 – steveha

回答

1

更改%c。通過%d:

printf ("%d\n", n); 
+0

這樣做的工作,但問題說只改變n不是printf語句 編輯:哦,我沒有n ='0' 令人驚訝,即使工作 –

+0

編輯它在後。並清楚地問問題 – 2013-02-06 07:58:13

0

n爲整數類型,以便嘗試打印它..

printf("%d\n",n); 

,如果u使用%C,那麼它的打印1個字節的相關字符在ASCII表中。

0

Printf將format指定的C字符串寫入標準輸出(stdout)。如果格式包含格式說明符(以%開頭的子序列),則將格式化後的其他參數格式化並插入結果字符串中,替換它們各自的說明符。

在這裏您正在使用錯誤的格式說明符來打印您的值。 %c用於打印char(字符)類型的變量。對於int(整數)使用%d

試試這個Link

+0

我已經知道如何用C++,java和php編寫代碼以及很少的程序集。我只是不知道printf是如何工作的。 –

+0

轉到鏈接。 – 2013-02-06 08:20:27

0

如果您需要在不改變printf語句來顯示0,做到這一點的方法是做

n = '0'; 

n = 48; 

看看Ascii Table,查看ascii值0.

相關問題