scanf()的使用及一些注意事項

2020-12-19 百科博客

相比較Java的鍵盤錄入,C語言的scanf有一些需要注意的細節,為了避免使用的時候踩坑,我們就來了解一下scanf。

scanf()是C語言的格式輸入函數,和printf函數一樣被聲明在stdio.h頭文件中,它的基本使用很簡單:

1 int a;2 scanf("%d",&a);//程序執行到這裡時,就等待用戶輸入;它接收的是變量的地址

//所以一般情況下除了指針型變量和數組名要給變量加上取地址符&

注意事項一:內存溢出(輸入的類型要和佔位符一致就不拿出來單獨囉嗦了)

1 char s[1];//長度為1,只能存一個元素2 printf("請輸入s的值:"); 3 //因為這裡使用的是數組名,數組名就是地址,所以不用加取地址符& 4 scanf("%s",s); //輸入abcd 5 printf("s=%s\n",s);

誒,照結果來看abcd都被存進字符數組s裡面了,但是我們知道,s是不是只能存一個字節的數據,所以bcd已經非法佔用內存了。雖然有時候程序看起來會正常執行,但是它會留下一些隱患。使用的時候需要注意這一點。

注意事項二:錄入多個變量

1 double m,n;2 printf("請輸入m、n:"); 3 //佔位符不寫東西時,錄入的時候默認以空格分隔

//如果佔位符用逗號分隔,錄入的時候用逗號分隔4 scanf("%lf%lf",&m,&n);// scanf("%lf,%lf",&m,&n);5 printf("n=%lf m=%lf\n",m,n);

如果我將第四行代碼換成注釋的代碼就需要這樣用:

輸入的時候用空格分隔會發生什麼呢

可以看到,n的值沒能錄入。建議使用默認的分隔符,佔位符中不要自己加東西。

注意事項三:char類型

1 char name[10]=""; 2 int age=0; 3 double sal=0.0; 4 char gender='a';//m代表man w代表woman 5 6 printf("請輸入名字:"); 7 scanf("%s",name);//數組名,不用加& 8 9 printf("請輸入年齡:");10 scanf("%d",&age);11 12 printf("請輸入薪水:");13 scanf("%lf",&sal);14 15 printf("請輸入性別:");16 //scanf中char類型會出現接收上面的回車字符,一個字節被佔了,所以獲取不到錄入的數據 17 scanf("%c",&gender); 18 //所以再接收一次 19 scanf("%c",&gender); 20 21 printf("姓名:%s \n年齡:%d \n薪水:%lf \n性別:%c",name,age,sal,gender);

先看一下去掉19行代碼會發生什麼:

亂吧,性別沒法輸入吧;加上19行之後,也就是再獲取一次字符之後:

相關焦點

  • 碎紙機使用注意事項
    那麼使用碎紙機的同時要注意哪些事項,小編總結了一下(如下)  1、 請將您的機器靠近插座的地方使用,以方便緊急切斷電源。  6、 為確保機器有長久的使用壽命和良好的性能,每次碎紙數不要超過定額,還有,請不要將機器長時間置於有熱源的地方或潮溼環境中使用。  7、 如發生意外情況,請立即關閉電源開關,或者直接拔掉插頭。  8、 切勿以任何方式自行改造機器內部結構或電源連線。若機器本體或電源有任何破損,請勿使用,並同經銷商聯繫或撥打服務熱線。
  • 汽車電瓶使用的幾個注意事項
    打開APP 汽車電瓶使用的幾個注意事項 汽車電子電路研究 發表於 2021-01-11 11:39:43 通常來講,汽車的電瓶正常使用壽命在
  • 雙面懸臂式重型貨架使用注意事項
    倉庫貨架類型很多,適合存儲的貨物也可能不同,使用方法也有區別。雙面懸臂式重型貨架,適用於存放板材、管材等長條狀、長卷狀及不規則的貨物。懸臂可以是單臂、雙臂,貨物被存放在固定於立柱的懸臂上。雙面懸臂式重型貨架的使用方法相對容易,然而,也有許多需要注意的事項。首先要防止的是頭部較重,頂層應該放置一些較輕的貨物。那麼比較重的貨物應該放在下面,然後不要超過限額。如果超過設計的承重,整個結構將受到影響。叉車運行時,不要立即將重物放在貨架上,這可能會在短時間內增加貨架的負載。
  • 泡腳桶第一次使用前需注意什麼 泡腳木桶的使用事項
    現在泡腳桶是一個很常見的產品,也是屬於現在的一種時尚,有很多人都會用泡腳桶來進行泡腳,對於身體也是有一定的好處,不過現在市面上的泡腳桶的品牌有很多,大家在選擇的時候,也是比較比較麻煩的,在第一次使用的時候,也是要需要一些問題,下面我們來說說泡腳桶第一次使用前需注意什麼?
  • 手機vr眼鏡的使用方法及注意事項
    打開APP 手機vr眼鏡的使用方法及注意事項 太平洋電腦網 發表於 2020-05-27 10:49:40 那麼手機vr眼鏡怎麼使用?VR眼鏡怎麼連接手機?有的人買來vr眼鏡卻不知道使用,接下來本文以暴風魔鏡為例為大家介紹手機vr眼鏡使用教程,對VR眼鏡感興趣的小夥伴們不妨來看看吧!   手機vr眼鏡怎麼使用?需求預備什麼   1.一部智慧型手機,安卓或許蘋果均可,建議屏幕尺度在4.7寸以上。
  • 承德不鏽鋼監獄洗手盆生產廠家使用注意事項
    預製玻璃鋼化糞池給生活帶來的好處 承德不鏽鋼監獄洗手盆生產廠家使用注意事項虹吸式不鏽鋼便器... 撫順複合鋼格板生產廠家產品如何正確使用 承德不鏽鋼監獄洗手盆生產廠家使用注意事項虹吸式不鏽鋼便器...
  • 武漢配眼鏡注意事項以及一些技巧分享
    武漢配眼鏡注意事項以及一些技巧分享。本網5月28日訊 配眼鏡作為一個近視患者來說都要經歷無數次的問題。那麼武漢配眼鏡有哪些注意事項呢?今天我們就來說一說。​武漢配眼鏡注意事項一:鏡片折射率是根據你的近視度數來選擇的,中低度近視完全不需要這麼好的鏡片。按照性價比來說,其實並不高。雖然說折射率越高鏡片越薄。
  • 貝斯特壁掛爐怎麼使用 壁掛爐使用注意事項有哪些
    近期的科技進步發展較快,而在這些各種物品都有進步的情況下,不少人也是明白了自己該去關注什麼,與生活有關的物品,更換起來都不是那麼容易的,尤其也是在壁掛爐這種物品上,每一種品牌的壁掛爐,在操作產品上面,基本上的步驟幾乎都是不同的,那麼貝斯特壁掛爐怎麼使用?壁掛爐使用注意事項有哪些?
  • 蒸餾燒瓶的使用注意事項詳解
    用戶使用蒸餾燒瓶過程中需要注意的問題較多,下面小編就來具體介紹一下蒸餾燒瓶的使用注意事項,希望可以幫助用戶更好的應用產品。   蒸餾燒瓶的使用注意事項   1.加熱時要墊石棉網,也可以用其他熱浴加熱。加熱時,液體量不超過容積的2/3,不少於容積的1/3。
  • 活性炭的作用及使用注意事項,你都了解了嗎?
    接下來就讓小編來為大家介紹活性炭的作用及活性炭的使用注意事項吧! 活性炭的使用注意事項 1、使用前要先去除表面的粉塵,不然附著的黑色粉塵會影響水質清潔度,而且最好不要用自來水直接衝洗
  • 深圳配眼鏡注意事項以及一些技巧分享
    深圳配眼鏡注意事項一:鏡片折射率是根據你的近視度數來選擇的,中低度近視完全不需要這麼好的鏡片。按照性價比來說,其實並不高。深圳配眼鏡注意事項二:選擇鏡架的學問。現在比較流行大框眼鏡。但因為近視度數越高,鏡片就會越厚。及時是1.74折射率的鏡片,如果你選擇大框的鏡架也會出現邊緣特別厚的緣故。所以高度近視的群體,建議選用小框的眼鏡架。深圳配眼鏡注意事項三:驗光不是完全依靠電腦驗光。作為一個專業的驗光師,在驗光方面,電腦驗光永遠是一個參考。
  • 太陽能水管破裂怎麼辦 太陽能熱水器使用的注意事項
    在家庭的熱水生產上,大家使用的家用電器是不少的,其中較為節能和環保的就要說是太陽能熱水器了,這也是近幾年來普及率很高的一種產品了。但是在使用的過程中,太陽能熱水器也會有一些問題,下面我們來看看太陽能水管破裂怎麼辦和太陽能熱水器使用的注意事項都有哪些。供大家使用太陽能熱水器時參考。
  • 使用浴球的注意事項
    使用浴球的注意事項怎麼選擇沐浴球沐浴球的顏色一般多元化,有許多的鮮豔的顏色,一般以黃色和藍色為主,粉色和白色也很多,不知道大家發現沒,很少的商家會生產黑色的浴球,可能由於黑色有一種不乾淨的感覺,黑色在市場很少見,所以在顏色上浴球也是有一定的選擇的。1、一般的浴球有掛繩。約42CM,球徑12CM重量40G清潔全身肌膚。帶來舒爽沐浴享受。
  • 柴油發電機使用注意事項及維護要求
    柴油發電機使用注意事項及維護要求
  • 高考化學:實驗常用儀器的使用方法及注意事項匯總!
    使用注意事項:  ①取、放坩堝時必須用坩堝鉗。  ②一般與泥三角,三腳架配套使用。  ③可直接加熱,冷卻時放入乾燥器中冷卻。  4.燒杯  主要用途:①作較多量物質反應的反應器。②加熱較多量的液體(如水浴加熱)。③溶解物質,配製溶液。
  • 索尼數位照相機使用方法與注意事項【圖文】
    索尼的數位照相機有一款很不錯,他是索尼DSC-WX350數位相機,接下來小編就系統的講解一下索尼DSC-WX350數位相機的使用方法與注意事項。   照相機的注意事項  在存取 指示燈 亮燈狀態,如果關閉電源、取出電池或存儲卡,存儲卡中的數據可能會損壞。為了保護數據,請務必進?備份。小心使?
  • LED植物燈的原理及使用注意事項
    打開APP LED植物燈的原理及使用注意事項 阿里頭條 發表於 2020-03-15 15:17:00 LED植物燈,有助縮短植物的生長周期,因為這種燈的光源主要是由紅藍光源組成的,採用植物最敏感的光波段,紅光波長使用620-630nm和640-660nm, 藍光波長使用450-460nm和460-470nm。
  • 手機充電器日常使用的注意事項
    在我們日常生活中,基本上每天都會使用到手機充電器來給手機充電,那麼在使用手機充電器有那麼使用的注意事項呢?下面來給大家分享一下:2、儘量直充:避免使用充電寶由於手機使用的場景越來越多,我們總會帶個充電寶以防不時之需,但充電寶雖然方便,卻沒有測溫、過流保護等功能,長期使用充電寶充電會降低電池的性能和壽命。
  • 使用數位板畫畫的注意事項有哪些?
    新手如果要熟悉使用數位板去繪畫,有三個字絕巧,那就是多練習!哈哈~雖然這話說得沒啥力度,但是多練習絕對是不會錯的哈,在使用數位板繪畫的時候都是需要看著屏幕的,所以手眼之間要相互配合,所以多多的練習就是一個很不錯的竅門哦~接下來給大家分享在使用數位板的注意事項:1、不放在高溫、高熱源的附近,避免對數位板造成損壞。
  • 「七孔寬音域葫蘆絲」的構造及使用注意事項
    為了讓大家進一步了解「七孔寬音域葫蘆絲」以及如何使用和演奏好「七孔寬音域葫蘆絲」,今天這個視頻專門為大家介紹「七孔寬音域葫蘆絲」的構造及使用注意事項。傳統七孔葫蘆絲只能吹奏到中音6 音域比較窄,給一些喜歡用葫蘆絲演奏歌曲的朋友帶來了演奏難題。