作者tohru (PPP)
看板C_and_CPP
標題[問題] scanf 讀取輸入字串的問題
時間Tue Apr 28 11:21:13 2009
不好意思 最近剛起步學程式語言
想請問一下若想顯示下列格式
請輸入姓名:
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)
推 Peruheru:scanf裡面不需要換行吧XD 04/28 11:23
→ Peruheru:你打完資料按下Enter鍵時就會換行了 04/28 11:24
推 Peruheru:把scanf裡面的\n換行符號去掉吧 04/28 11:28
→ tohru:謝謝您的回應 已解決了 ^^ 04/28 11:30