有以下程序:include(stdio.h>main( ){char a,b,C,d; scanf("%c%C",&a,&b)
有以下程序:
include(stdio.h>
main( )
{char a,b,C,d;
scanf("%c%C",&a,&b);
c=getchar( );d=getchar( );
printf{"%c%c%c%c\n",a,b,C,d);
}
當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第l列開(kāi)始,<CR>代表回車j注意:回車也是
一個(gè)字符)
12<CR>
34<CR>
則輸出結(jié)果是( )。
A.1234
B.12
C.12 3
D.12 34
正確答案:C當(dāng)程序調(diào)用9etchar時(shí),程序就等著用戶接鍵。用戶輸入的字符被存放在鍵盤(pán)緩沖區(qū)中,直到用戶按回車為止(回車字符也放在緩沖區(qū)中)。如用戶在按回車之前輸入了不止一個(gè)字符,其他字符會(huì)保留在鍵盤(pán)緩存區(qū)中,等待后續(xù)getchar調(diào)用讀取。也就是說(shuō),后續(xù)的getchar調(diào)用不會(huì)等待用戶按鍵,而直接讀取緩沖區(qū)中的字符,直到緩)中區(qū)中的字符讀完為后,才等待用戶按鍵。因此,程序中c的值為輸入的第 一個(gè)回車符。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。