學習到for循環,在練習的時候遇到了 的getchar()) !=' n’ 的問題。即在while循環中好使在for循環中回車無效(被作為字符處理。)
眾所周知,getchar函數用來獲取字符,而如果在循環中直接用,就會發現按回車無法將字符送入系統的情況。原因是回車也是字符~所以,我們要同時加入對回車也就是“ \ñ ”的判別,即有了 的getchar()!=' n' ,這個辦法用 而 循環好使,可到了 對於 循環下就有不少新手大呼不靈。
= =我就是其中之一。
我們知道 對於 循環的格式是這樣的:
1 |
for(赋值或某语句(在循环的开始);执行条件,若值为真则循环;循环完一次执行这里的语句) |
所以,按照我的理解,用for循環來獲取輸入字符串就應該是這樣子了
1 |
for(c = getchar();c != '\n';) |
可執行後果斷發現回車依舊沒用,果斷被系統當作字符給處理了。谷歌后發現問題嘿嘿
原來,在 對於(C = 的getchar();C != ' n';) 裡 C = 的getchar() 在循環前執行,也就是循環中單獨執行的語句,自然回車“無效”,即 !=' n' 需要與 C = 的getchar() 寫在一起,作為for循環的執行條件,這樣每次for循環,只要第二個語句的條件成立,都會執行。
本文由 落格博客 原創撰寫:落格博客 » C =的getchar()) != ‘n’與for循環
轉載請保留出處和原文鏈接:https://www.logcg.com/archives/131.html