將i=i++修改為i++,讓i值自增。題主代碼中i = i++有問題,i值不會自增,循環(huán)不會結(jié)束。會先使用i值,即將1賦值給i,所以在while循環(huán)中i的值會一直是1,循環(huán)無法停止,所以回車后不會結(jié)束。
創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今,先為山陽等服務(wù)建站,山陽等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為山陽企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
第二個scanf里面不要加\n, 它要求輸入字符串最后有回車,但系統(tǒng)默認(rèn)回車是表示輸入結(jié)束,不會把回車傳給scanf,于是它就罷工了。
就是回車鍵不會被scanf收到。它收到的是一個空字符,而不是回車。 所以通常是用一個字符串來表示結(jié)束的。比如輸入“end,循環(huán)就結(jié)束。在WINDOWS你可以用getch這個函數(shù)來抓到回車鍵。重新編寫代碼試試看。祝順利。
2018-03-25 c語言為什么我這個程序輸入了整數(shù)后按回車沒有輸出結(jié)果。哪里錯... 2 2012-12-25 我在devC++ 上寫了這么一個程序,可為什么運(yùn)行時輸入后回... 3 2011-05-10 C語言程序。
輸入第一個數(shù)字后使用Tab鍵輸入第二個數(shù)。。
這個是本身編譯軟件的問題,也不算是屬于BUG。那是由于上一個輸入輸入的函數(shù)最后判斷輸入完畢的回車會在這里生效,而且你寫getchar函數(shù)也會一同運(yùn)行,解決辦法就是寫兩個getchar。
你個scanf接收字符輸入,每次輸入字符后回車,回車也算一個字符,被下一次循環(huán)scanf直接接收了,所以才會跳。解決方法很多,比如:在每次輸入完畢后,用scanf或getchar或getch把回車符號接收掉。
這些跟你的程序沒關(guān)系。它是vs系列編程軟件編譯時,默認(rèn)的要去找相關(guān)模塊的符號文件。這個符號文件用于調(diào)試,一般編程不需要。看情況你的代碼是正常退出了。問題就出現(xiàn)在scanf上。
scanf()函數(shù)就是根據(jù)你輸入的換行符(你按回車鍵)來判斷你的輸入是否結(jié)束。如果你輸入一個數(shù),比如你要輸入123,但你輸入1是不是就自動換行。。
打開軟件,直接使用int類型來定義一個變量用于保存getchar()返回的字符類型。接下來是循環(huán),如下圖所示,直到輸入的字符為回車鍵則退出并輸出所有輸入的內(nèi)容。
這樣以空格隔開各個數(shù)字,輸入若干以后按回車即可。但是容錯性不好,如果結(jié)尾在按回車前多輸入了一個空格,那么將繼續(xù)循環(huán)。如果提升了容錯性,那么代碼將變得比較復(fù)雜。
當(dāng)程序調(diào)用getchar時。將用戶輸入的字符回顯到屏幕.如用戶在按回車之前輸入了不止一個字符。要用戶按一個鍵,getch就立刻返回,getch返回值是用戶輸入的ASCII碼。用getch函數(shù)暫停程序運(yùn)行,當(dāng)按任意鍵后程序繼續(xù)運(yùn)行。
這還真有點(diǎn)小學(xué)問,如果是字符數(shù)組,if(a[i]!=\n) break;就可以了,但得把不需要的那個\n從數(shù)組中用a[i]=\0抹掉并添加了結(jié)束符。要是數(shù)字?jǐn)?shù)組,比如整數(shù)數(shù)組呢,上面方法就不湊效了。
是因?yàn)閒gets函數(shù)把最后輸入的\n作為一個字符存儲在字串末尾了,在\n之后才加一個\0,所以這里的回車是由字符串的最后一個字符\n產(chǎn)生的。
分享文章:c語言讓回車不跳出函數(shù) c語言回車后無反應(yīng)
瀏覽路徑:http://chinadenli.net/article15/deggpgi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、做網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站營銷、品牌網(wǎng)站設(shè)計(jì)、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)