亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

下面圖片內容是關于在scanf()函數中的一些問題。求解釋~

下面圖片內容是關于在scanf()函數中的一些問題。求解釋~

C C++
隔江千里 2021-12-09 11:07:35
#include <stdio.h>int main(){ int a; char ch; double b=1.23; printf("請輸入一個整數,一個字符,一個小數\n"); scanf("%d%c%lf",&a,&ch,&b); printf("你輸入的是%d,%c,%lf\n",a,ch,b); return 0;}這個是結果我每輸入一個數據就一個空格,因為第二個是字符數據輸入,所謂輸完'5'后按空格程序就讀取了那個空格輸入,所謂結果中a就變成了空格,b原樣輸出。然后改成下面這個樣子:#include <stdio.h>int main(){ int a; char ch; double b=1.23; int num=0;printf("請輸入一個整數,一個字符,一個小數\n"); num=scanf("%d%c%lf",&a,&ch,&b); printf("你輸入的是%d,%c,%lf\n",a,ch,b); printf("%d被替換.\n",num); return 0;}加了 int num=0;和printf("%d被替換.\n",num);之前scanf("%d%c%lf",&a,&ch,&b);改成了num=scanf("%d%c%lf",&a,&ch,&b);結果就可以讀出那個a被空格替換了,求原因?
查看完整描述

2 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

注意一個地方,在輸入字符型數據時,你在之前為a輸入了一個整形數,后加了個' ' 字符,
所以ch=' '
你可以改成:scanf("%d %c%lf",&a,&ch,&b); %d與%c之間加個空格

查看完整回答
反對 回復 2021-12-12
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

這樣輸入就ok了


 


查看完整回答
反對 回復 2021-12-12
  • 2 回答
  • 0 關注
  • 372 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號