2014-12-01 54 views
23

我在我的節目的最後,這printf聲明:獲得printf中輸出一個奇怪百分號終端使用C

printf("%d", total_candies); 

total_candiesint,而我希望一切都能夠正常工作,隨着實際的數字,我在最後得到一個奇怪的百分號。 enter image description here

誰能告訴我爲什麼會發生這種情況?

+3

是你的控制檯提示符,也許?嘗試在輸出中添加一個換行符:'printf(「%d \ n」,total_candies);' – 2014-12-01 22:31:53

+4

請更新您的問題以顯示出現問題的完整程序。你怎麼知道這個怪異的百分比字符是由這個特定的陳述打印的?它可能是你的shell提示嗎? – 2014-12-01 22:32:22

+0

@KeithThompson這是我唯一的printf /或任何控制檯日誌記錄聲明。 – rounak 2014-12-01 22:33:25

回答

40

當程序輸出(非空)不包括尾隨換行符時,zsh添加了顏色反轉的%以指示並在打印提示之前移動到下一行;它通常比bash的行爲更方便,只需在輸出結束時啓動命令提示符。

+4

謝謝我不知道zsh的這種行爲。現在我想到了,它確實比bash的行爲更有用。 – rounak 2014-12-02 07:08:37