頁:
[1]
關於自學C語言遇到的問題fgets
本帖最後由 cht1902316 於 2020-8-10 02:59 AM 編輯無法上傳程式碼 ,我用圖片試試!!
請見諒!!
補充內容 (2020-8-10 03:06 AM):
抱歉 原來print f 連在一起是敏感字元!! 我查看我過去的帖子!! 有位大大有告訴過我這件事!! 謝謝!! 我的程式碼在下面那一樓呦~<div></div>
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
double a,b,c;
char zx[]="",s[]="";//,s2[]="",s3[]="";
print f("請輸入姓名:\n"); fgets(zx,20,stdin);
print f("請輸入計概成績:\n"); fgets(s,10,stdin); a=atof(s);
print f("請輸入數學成績:\n"); fgets(s,10,stdin); b=atof(s);
print f("請輸入英文成績:\n"); fgets(s,10,stdin); c=atof(s);
print f("統計中.....\n");
print f("\t%s的成績如下:\n",zx);
print f("==================\n");
print f("\t計概:%3.f\n",a);
print f("\t數學:%3.f\n",b);
print f("\t英文:%3.f\n",c);
print f("-------------------\n");
print f("\t總分:%3.f\n",a+b+c);
print f("\t平均:%3.2f\n",(a+b+c)/3);
system("pause");
return 0;
}我的問題是在fgets(zx,20,stdin); 他無法顯示正確的中文!...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div> char zx[]="",s[]="";//,s2[]="",s3[]="";
名稱陣列只有一個byte長度,
按照記憶體排列, 名稱會被後續資料所覆蓋.
請改用專案, 透過除錯環境, 觀察記憶體變化, 即可自己找出錯誤. 記憶體變化....... 好吧很深奧~~ 這個難題以後在解好了 3樓大已經解答了。把字串設定長度就可以解決問題#include <stdio.h>
#include <stdlib.h>
#define CannotPrint printf
int main()
{
double a, b, c;
char zx, s;
CannotPrint("請輸入姓名:\n"); fgets(zx, 20 ,stdin);
CannotPrint("請輸入計概成績:\n"); fgets(s,10,stdin); a=atof(s);
CannotPrint("請輸入數學成績:\n"); fgets(s,10,stdin); b=atof(s);
CannotPrint("請輸入英文成績:\n"); fgets(s,10,stdin); c=atof(s);
CannotPrint("統計中.....\n");
CannotPrint("\t%s的成績如下:\n",zx);
CannotPrint("==================\n");
CannotPrint("\t計概:%3.f\n",a);
CannotPrint("\t數學:%3.f\n",b);
CannotPrint("\t英文:%3.f\n",c);
CannotPrint("-------------------\n");
CannotPrint("\t總分:%3.f\n",a+b+c);
CannotPrint("\t平均:%3.2f\n",(a+b+c)/3);
//system("pause")
return 0;
}...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><br><br><br><br><br><div></div> tryit244178 發表於 2020-8-11 06:55 PM static/image/common/back.gif
3樓大已經解答了。把字串設定長度就可以解決問題
謝謝!! {:31:}{:45:} 謝謝!! 大大
頁:
[1]