摸不著頭緒,為何printf會一直失敗,然後測試發現用"功"字,就會跑出錯誤?
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("功");
printf("\n");
system("pause");
return 0;
}
感謝各位解答,原來是Big5編碼問題,在"功"後面加入反斜槓或改變編碼即可解決。
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("功\");
printf("\n");
system("pause");
return 0;
}
調整一下檔案編碼。目前正常來說,預設的編碼因該UTF-8
但有少部份的編輯器還是會用BIG5碼(在編輯器上有時會出現的是ANSI)
只要使用BIG5。以下這些字「許功蓋過錯」,就有可能性出問題。
出問題的原因其實也很簡單。因為BIG5碼來說,其實也是兩種字元組合而成的。
而這些中文字都有包含到「"';」等一些程式會應用到的字元碼。而導致出錯。
改變編碼就可以免除這些問題。