[問題] scanf 讀取輸入字串的問題

看板C_and_CPP (C/C++)作者 (PPP)時間16年前 (2009/04/28 11:21), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/2 (看更多)
不好意思 最近剛起步學程式語言 想請問一下若想顯示下列格式 請輸入姓名: tohru(由使用者輸入) 因為我不太會用scanf讀取輸入字串 (還沒學到陣列和指標) 所以我用fgets 可是程式只能執行到請輸入計概成績: 65 程式就停住了 想請問一下這是什麼問題 (使用Dev C++ 4.9.9.2 編譯) 若fgets改成scanf又要怎麼改呢? 程式碼如下: #include <stdio.h> #include <stdlib.h> int main() { char str1[]=""; int comp_grade=0, math_grade=0, eng_grade=0; printf("請輸入姓名: "); fgets(str1,80,stdin); printf("請輸入計概成績: "); scanf("%d\n", &comp_grade); printf("請輸入數學成績: "); scanf("%d\n", &math_grade); printf("請輸入英文成績: "); scanf("%d\n", &eng_grade); printf("統計中.....\n\n"); printf("%s的成績如下", str1); printf("========================\n"); printf("計概成績: %d", comp_grade); printf("數學成績: %d", math_grade); printf("英文成績: %d", eng_grade); printf("========================"); system("pause"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.243.66 ※ 編輯: tohru 來自: 140.116.243.66 (04/28 11:23)

04/28 11:23, , 1F
scanf裡面不需要換行吧XD
04/28 11:23, 1F

04/28 11:24, , 2F
你打完資料按下Enter鍵時就會換行了
04/28 11:24, 2F

04/28 11:28, , 3F
把scanf裡面的\n換行符號去掉吧
04/28 11:28, 3F

04/28 11:30, , 4F
謝謝您的回應 已解決了 ^^
04/28 11:30, 4F
文章代碼(AID): #19zdOgOb (C_and_CPP)
文章代碼(AID): #19zdOgOb (C_and_CPP)