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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

關(guān)于scanf函數(shù)的運(yùn)行過(guò)程,求答疑解惑~

關(guān)于scanf函數(shù)的運(yùn)行過(guò)程,求答疑解惑~

C PHP
隔江千里 2021-12-07 11:07:05
#include "stdio.h"void main(){char ch;scanf("%c",&ch);while (ch!='\n'){if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z'){ch=ch+3;if(ch>'Z'&&ch<'Z'+4||ch>'z')ch=ch-26;}printf("%c ",ch);scanf("%c",&ch);}}如上程序是為了完成輸入字符串的加密,將全部的字母都換成它的后面第三個(gè)字符,在輸入時(shí)是一次性輸入一串字符的,如:abc123,它的結(jié)果應(yīng)該是def123;現(xiàn)在我不明白的是:scanf()函數(shù)只能一次接收一個(gè)字符串,那么我一次性輸入的相當(dāng)于是一個(gè)字符串,那計(jì)算機(jī)內(nèi)部可能是以下的哪一種情況:1、我輸入的字符先不進(jìn)行運(yùn)算,晢時(shí)存在一個(gè)非&ch的地方,如什么緩沖中,待我一次性全部輸完,打擊回車后,再開(kāi)始運(yùn)行程序,遇到scanf時(shí)再依次從晢存的地方將字符錄入ch;2、在我輸入過(guò)程中即開(kāi)始運(yùn)算,即當(dāng)我輸入完成a與將要輸入b的間隙,計(jì)算機(jī)已開(kāi)始運(yùn)行,畢竟有了第一個(gè)字符,下面的程序已經(jīng)能夠進(jìn)行運(yùn)算了,這樣,只要有一個(gè)字符輸入,計(jì)算機(jī)馬上開(kāi)始工作,而在此過(guò)程中,printf()產(chǎn)生的結(jié)果則暫時(shí)存在一個(gè)暫存區(qū),等待回車時(shí)一并輸出到屏幕上。這兩種運(yùn)行情況倒底是哪一個(gè)呢?還是哪個(gè)都不是,還有別的解釋?希望大俠們不吝惜賜教!謝謝!
查看完整描述

2 回答

?
開(kāi)心每一天1111

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊

scanf 從標(biāo)準(zhǔn)輸入流的緩沖區(qū),按格式定義,讀取數(shù)據(jù)。
如果緩沖區(qū)沒(méi)有內(nèi)容,或剛開(kāi)始輸入但尚未拍入"\n" 前, scanf 就等待。
拍入"\n"后,scanf 開(kāi)始工作,按格式定義,讀取數(shù)據(jù)。讀過(guò)的部分就清掉,讀剩的部分還留在緩沖區(qū),下一句 scanf (或類似的其它輸入函數(shù),getchar,gets...) 接著從 剩余部分讀起,讀空了不夠讀就等待輸入。
fflush() 可用于清除 緩沖區(qū) 剩余內(nèi)容。

查看完整回答
反對(duì) 回復(fù) 2021-12-12
?
吃雞游戲

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

是你說(shuō)的第一種。你一次性輸入的字符串是連續(xù)的在一塊內(nèi)存中。然后scanf函數(shù)去了這個(gè)字符串里面的第一個(gè)。所以就是這樣的情況。
你可以自己在 while語(yǔ)句那里設(shè)置一個(gè)斷點(diǎn),調(diào)試一下看看。

查看完整回答
反對(duì) 回復(fù) 2021-12-12
  • 2 回答
  • 0 關(guān)注
  • 347 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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