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

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

c語言中scanf函數(shù)定義寬度的問題?

c語言中scanf函數(shù)定義寬度的問題?

海綿寶寶撒 2019-02-05 16:06:57
對于整型 scanf("%4d",&a);1.如果輸入以下內(nèi)容12345678則結(jié)果scanf函數(shù)只把1234保存到變量a中2.如果輸入以下內(nèi)容123則結(jié)果scanf函數(shù)會把123原樣保存的變量a中可用如下程序進行說明#include <stdio.h>int main(){int a;scanf("%4d",&a);printf("%d",a);}問題:如果對于實型數(shù)據(jù),或者字符型數(shù)據(jù),又是什么的結(jié)果呢?請舉例說明。謝謝,剛剛開始學C,呵呵~~多多指教。
查看完整描述

2 回答

?
吃雞游戲

TA貢獻1829條經(jīng)驗 獲得超7個贊

這個問題問的好。
你問題的第二種情況是說如果輸入多個字符類型數(shù)據(jù)的情況。
如果是這樣,請注意,除非,如果scanf后面的格式是%c的,那么它只能吸收你輸入的一個字符,后面的東西全部放在緩存區(qū)。也就是說,你再接上一個scanf( "%c", &c),它會繼續(xù)吸收你前面沒有吸收到的字符。
如果下面語句段:
scanf( "%c", ch1 );
scanf( "%c", ch2 );
scanf( "%c", ch3 );
你輸入"ab"后按回車。那么,a被ch1吸收,b被ch2吸收,ch3呢?你是不是以為沒有東西吸收?其實你輸入ab后按了回車,所以回車被ch3吸收了。這點一定要小心。
你的問題第一種情況就明顯很多了。
比如你的scanf語句吸收格式字段是%4f,但是你輸入了3.1415926那么,它只會吸收3.14,作為浮點類型。后面的15926以整型的方式存在于緩存中。

學C語言一定要不停的去體悟它的輸入輸出,個人覺得它的重要性僅次于指針。

查看完整回答
反對 回復 2019-03-14
?
浮云間

TA貢獻1829條經(jīng)驗 獲得超4個贊

scanf("%4d",&a);表示若輸入小于或等于四位,則原樣輸出,若輸入大于四位,從左到右截取你輸入的字符
scanf("%-4d",&a);表示若輸入小于或等于四位,則原樣輸出,若輸入大于四位,從右到坐截取你輸入的字符

查看完整回答
反對 回復 2019-03-14
  • 2 回答
  • 0 關(guān)注
  • 1056 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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