iT邦幫忙

1

C語言如何防止使用者輸入額外資料(希望可以提供迴圈和字串以外的方式)

  • 分享至 

  • xImage

程式簡要如下:
#include <stdio.h>
int main()
{
int a;
printf("請輸入一個數"):
scanf("%d",&a);
return 0;
}

如果使用者刻意不看提示字想用空白之類的方式輸入2筆以上的資料,想請問該如何防止呢?

canrong iT邦新手 3 級 ‧ 2022-10-08 22:16:55 檢舉
第一眼看下意識用regex,沒注意到不希望使用字串
我倒是沒試過%d輸入數字以外的輸入會有什麼結果
如果會會報錯的話使用try-catch加上沒報錯時判斷數字範圍吧
iT邦新手 4 級 ‧ 2022-10-09 04:18:23 檢舉
做不到吧,除非你實現自己的 scanf,輸入數字以外的字元全部丟棄也不顯示在螢幕上
scanf("% d",&a);
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2022-10-09 08:43:57

希望可以提供迴圈和字串以外的方式

可以
只要你能限制使用者用類似以下的鍵盤輸入即可(連.鍵都不要)
https://ithelp.ithome.com.tw/upload/images/20221009/20001787O9Pm0aeRzN.pnghttps://ithelp.ithome.com.tw/upload/images/20221009/20001787g2LQVis9bb.png

了解,我在試試怎麼做出這種效果,謝謝你的建議

我要發表回答

立即登入回答