我正在使用scanf
從文件中獲取變量的值。它應該繼續從文件中讀取,直到遇到%
。如何比較%
如何處理帶有%d格式說明符的字符?
scanf("%d",&a);
if (a=='$') terminate ; ??
它不工作,可以採取什麼問題解決?
我正在使用scanf
從文件中獲取變量的值。它應該繼續從文件中讀取,直到遇到%
。如何比較%
如何處理帶有%d格式說明符的字符?
scanf("%d",&a);
if (a=='$') terminate ; ??
它不工作,可以採取什麼問題解決?
你如果條件不與$
改變這種比較a
:
if (a =='$')
編輯
做同樣比較%
if(a=='%')
你不能。 %d
將不會轉換%
或$
。換句話說,它不會放任何東西(更不用說你應該通過&a
)。當轉換失敗時,它將留在stdin
上,所以你仍然可以隨後閱讀它。
要知道轉換是否成功,請檢查scanf()
的返回值。它返回成功的cnversions的數量。
if (1 != scanf("%d", &a)) {
char c = 0;
scanf(" %c", &c);
if (c == '%' || c == '$') {
/* done */
}
}
嘗試它作爲一個==「$」或儲值其中U在整數閱讀和檢查
你嘗試過''==?還有'a ==%'。 – 2013-02-21 05:01:20