『壹』 c語言編譯運行亂碼是什麼原因
這種情況多數是由於操作系統的語言選項不正確引起的。建議你查看一下控制面板中的區域和語言選項,特別是有關「非Unicode程序的語言」,一定要選擇成「中文(簡體,中國)」。然後重啟電腦。
『貳』 我的C語言程序運行後為什麼是亂碼
有幾個小問題:
第一:c語言一般不支持中文薯肢,如果你用vc6.0++就是無法列印中文,一定會亂碼,建議用英文;
第二:如果你用的c語言編譯器支持中文,如devc++,則可以使用中文;
第三:我們的使用的字元格式,最多的是UTF-8,把默認消鍵代碼頁格式改為UTF-8試試吧
希望我的分享對你有用,拿手巧感謝採納
『叄』 C語言文件輸出時,輸入數據後為什麼會出現亂碼
if(fwrite(&stud[i],sizeof(struct
studentType),1,fp)!=1)
簡單看了下,這行有問題,往文件里寫的時候是把一個字元串寫進去,stud[i]是一個struct,強行把它序列化的話,內存中的存儲不是連續的,這樣寫就會寫入一些沒用的數據,導致出錯。考慮一下怎麼把struct序列化,再看看struct的中的位元組是怎麼對齊的,建議而已
『肆』 c語言問題,輸出結果是亂碼
你在定義x結構體的同時,已經定義了一個x型的全局變數student1並賦了初值,然而,你的main函數里又定義了同名的局部變數student1並沒有賦初值。main函數執行時,這里的student1是未賦初值的,所以student1.name的值並不是"星哥",你以%s輸出它,自然會顯示為「亂碼」。
改正方法是,既然你已經定義了全局變數,main函數里就不要再定義了。
#include<stdio.h>
#include<string.h>
structx{
charname[10];
intage;
charaddress[10];
charsex[10];
}student1={"星哥",20,"天水","女"};
intmain(){
/*structxstudent1;注釋掉這一句就會是正常的*/
printf("%s ",student1.name);
return0;
}
運行結果