第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關(guān)于EOF在循環(huán)中運用的問題,謝謝了?

關(guān)于EOF在循環(huán)中運用的問題,謝謝了?

飛翔的小馬哥 2017-07-11 21:38:18
代碼如下;```?#include <stdio.h>int main(){ int count = 0; int ch; while ((ch = getchar()) != EOF) count++; printf("All of the characters is %d.\n", count); return 0;}??```程序目的是計算輸入的字符個數(shù),我分別輸入了三種情況的數(shù)據(jù),得到情況如下:1、什么都不輸入直接按【ctrl + D】 (Linux系統(tǒng)) 程序直接退出。2、abc【ctrl + D】【ctrl + D】程序退出。注意:這個時候我需要按兩下才能退出。3、abc【回車】這個時候光標(biāo)移動到了下一行行首,我再按【ctrl + D】程序退出。我很疑惑第二種情況,為什么需要按兩次【ctrl + D】呢,小白....先謝謝了
查看完整描述

2 回答

已采納
?
Camel97

TA貢獻(xiàn)49條經(jīng)驗 獲得超38個贊

主要有兩點,第一個是 io操作存在一個緩沖區(qū)的問題,一般終端輸入會先被寫入緩沖區(qū),當(dāng)以回車或者EOF結(jié)束時getchar才能開始讀取。第二個是當(dāng)EOF作為結(jié)尾時,getchar開始讀取這一行,但是不會去讀最后的EOF字符,這應(yīng)該是一種特性。但是如果在新的緩沖區(qū)直接寫入EOF,getchar可以讀取到EOF。你的第一個EOF是作為第一個緩沖區(qū)的結(jié)束不被讀取,第二個EOF被讀取。

查看完整回答
1 反對 回復(fù) 2017-07-12
?
花間獨行

TA貢獻(xiàn)2條經(jīng)驗 獲得超0個贊

【ctrl + D】向下填充,相當(dāng)于回車

查看完整回答
反對 回復(fù) 2017-07-12
  • 2 回答
  • 0 關(guān)注
  • 2503 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號