c語言問題,12年3月真題

2021-12-25 05:06:43 字數 1154 閱讀 7959

1樓:

scanf函式有個特性,當讀取多個資料時,由%組成的控制符之間可以留置空格,也可以不留置空格,作用都一樣:允許用空格分隔資料。比如,scanf(”%s%s”,a,b);和scanf(”%s %s”,a,b);效果一樣;輸入時可以輸入一個字串回一次車,也可以一次輸入中間用空格隔開的兩個字串。

實際上scanf在遇到空格時認為前面的輸入有效並結束,而如果緊接著還是scanf語句,那就讀取這個空格但不賦給任何變數,接著讀取後面的輸入資料;如果跟著的是別的輸入語句,那就要看這別的輸入語句有什麼特性,按這別的輸入語句的特性處理這個空格。在你這裡輸入this is a cat!《回車》後,this賦給了a,空格留在緩衝區,接著還是scanf接收第二個資料is,就先讀取上次留下的空格,但不賦給任何變數,接著讀is並賦給b;後面不再是scanf了,那麼is後的空格就一直留在緩衝區。

後面是用get讀取,它是接收空格的……所以剛好所得結果是c項。(題中最後的printf(”%s%s\n”,a,b,c);少了個%s)

2樓:匿名使用者

第一,應該是

printf("%s%s%s\n",a,b,c);

才有答案

第二,陣列c中的內容應該是" a cat!",注意a的前面有一個空格,gets可以接收空格的,而scanf中的%s不接收空格

3樓:匿名使用者

scanf() 接收字串時候,可以理解為按照位來接收,比如:是字串abc d,接收當前a時候判斷b是否是空格要是b不是空格,則移動到b,在判斷b的下一位c是不是空格,依然不是,移動到c,在判斷

c的下一位是不是空格,是。則表示c和c之前的屬於同一個字串。這時候,注意也就是說,

判斷結束時候,還是有個空格的。

#include

void main()

可以使用該函式驗證,輸入this is a cat!

scanf("%s%s",a,b); //接收了this,空格處理,is,

getchar();//接收了空格;

gets(c);接收了a cat!

4樓:文正

給的答案錯了,應該輸出的是thisis\n

急需2023年3月計算機二級c語言機試題庫,歷屆機試真題和答案,機考模擬系統!

關於藍橋杯C語言的一些問題,藍橋杯C語言題目

你是什麼組的,bai專職專科組還是本科du 今zhi年的題目前八題都對的話dao 只能的專60分,你第九題做一半,只屬能得一半分,也就是70多分,專職專科組的話應該可以進決賽了,要是本科組的話你就懸了,我是專職專科組的去年我做對9道題也就75分,進入決賽了,進入決賽的名次中等靠前,你看著辦吧,今年題...

農曆12月3日是什麼星座,95年農曆12月3日是什麼星座

星座是看出生當天的陽曆日期來算的,因為沒有年份且是農曆日期,所以無法算出您 專的陽曆出生日期,所屬以不確定是什麼星座,您可以告知一下您的出生年份嗎 贈人玫瑰,手留余香。如若,您對我的答覆滿意,請採納,o o謝謝 你說的是哪年的農曆12月3日 95年農曆12月3日是什麼星座 20 公曆 1996年1月...

澄海3C單挑王胤真問題,澄海3C,狂隊現在的情況,胤真還能復出帶領曾經的王者狂隊走向另乙個顛峰麼?

有人說胤真的am飄是最強的,但很多人說胤真的黑弓操作完美,的確,個人認為胤真玩黑暗強,守屍那是無話可說,我看過胤真的守屍es在中路直接守別人基地面前的屍體,對方在家門口都回不去,可見胤真的es b箭時間算的之精準。最先發明的b箭穿怪做傳送點的也是胤真,還有黑暗的很多強悍配合打法也是他發明的,所以胤真...