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

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

這段代碼怎么理解?

這段代碼怎么理解?

C
GODDOOGE 2018-02-12 02:36:51
#include<stdio.h>int main(){int c;scanf("%c",&c);printf("%c",c);return 0;}我輸入123得1,輸入1得1,這是怎么回事?(我將%c改為%d后,輸入1得-858993615)
查看完整描述

1 回答

已采納
?
傻圓傻圓

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

#include<stdio.h>

int?main()
{
	char?a,?b,?c;
	scanf("%c",&a);
	scanf("%c",&b);
	scanf("%c",&c);
	printf("%c?%c?%c",?a,?b,?c);
	return?0;
}

????首先,試著閱讀這段代碼,如果輸入123,那么輸出的結(jié)果為將為1 2 3。
????在進(jìn)行程序輸入的時候,輸入并不是直接賦值給變量,而是先保存在輸入緩沖區(qū)中,當(dāng)按下回車鍵或者緩沖區(qū)滿了的時候,才會賦值給變量。

????現(xiàn)在來模擬一下這個代碼,在鍵盤中輸入123,123將會被放入輸入緩沖區(qū),按下回車鍵后,開始向程序中寫入內(nèi)容,寫入內(nèi)容的時候遇到了第一個scanf語句,發(fā)現(xiàn)這個語句需要一個字符,則將1賦值給了變量a,然后繼續(xù)向下走,遇到了第二個scanf語句,發(fā)現(xiàn)這個語句也是需要一個字符,然后將2賦值給了變量b,然后繼續(xù)向下走,遇到了第三個scanf語句,發(fā)現(xiàn)這個語句仍然需要一個字符,然后3賦值給了變量c,此時輸入結(jié)束,并且緩沖區(qū)也變?yōu)榱丝?,程序中也沒有等待輸入的語句了,則執(zhí)行了最后的printf語句,輸出了三個變量的值。

????接下來思考你的代碼,本質(zhì)上兩個代碼的區(qū)別就是我的代碼多了兩行的scanf語句,所以知道為什么你的代碼輸入123的時候輸出是1了吧。

查看完整回答
1 反對 回復(fù) 2018-02-13
  • 1 回答
  • 0 關(guān)注
  • 1135 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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