c語言中不執(zhí)行scanf,,而直接進(jìn)入死循環(huán)
while (1) { Welcome();//歡迎 //從鍵盤接收一個(gè)字符: char ch; scanf("%s",&ch); switch(ch) { case '1'://錄入學(xué)生信息 InputStudent(); break; case '2'://打印學(xué)生信息 break; case '3'://保存學(xué)生信息 break; case '4'://讀取學(xué)生信息 break; case '5'://統(tǒng)計(jì)所有學(xué)生人數(shù) break; case '6'://查找學(xué)生信息 break; case '7'://修改學(xué)生信息 break; case '8'://刪除學(xué)生信息 break; case '0'://退出系統(tǒng) break; } }
太基礎(chǔ)的錯(cuò)了,,ch是字符,,不可能用%s的,,要用%c
且因?yàn)榛剀囈彩亲址?,所以讀之前要么用fflush清緩沖(某些環(huán)境下可用),,要么要用getchar讀取緩沖中的回車
單字符,,從不建議用scanf的,,而只要用getchar就可以了
相關(guān)推薦
便查問答是一款實(shí)用的網(wǎng)絡(luò)熱門知識(shí)問答平臺(tái),專注于分享你不知道的知識(shí),、經(jīng)驗(yàn)及生活問題,,在這里所有人都能找到答案歡迎網(wǎng)友參與討論。