18227452746 发表于 2022-2-25 14:57:27

各位大神,为什么运行起来全是乱码呀?

代码奉上:求解救。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<windows.h>

int main()
{
   srand(time(NULL));
   int hp1=100;
   int hp2=100;
   int sh1;
   int sh2;
   int i=0;
   while(hp1>0 && hp2>0)
   {
       sh1=rand()%11+5;
       sh2=rand()%11+5;
       i++;
       hp1-=sh2;
       hp2-=sh1;
       printf("第%d轮",i);
       printf("*********************************************\n");
       printf("玩家1伤害值为:%d/t玩家2生命值为:%d",sh1,hp2);
       printf("玩家2伤害值为:%d/t玩家1生命值为:%d",sh2,hp1);
       printf("*********************************************\n");
       Sleep(500);
   }
   return 0;
}

isdkz 发表于 2022-2-25 14:58:23

本帖最后由 isdkz 于 2022-2-25 14:59 编辑

编码不对,把你的代码另存为 ANSI(gbk) 编码,
不知道怎么改编码的话,你可以用记事本打开你的源码,另存为,然后有编码可以选择的

18227452746 发表于 2022-2-25 15:17:39

本帖最后由 18227452746 于 2022-2-25 15:20 编辑

isdkz 发表于 2022-2-25 14:58
编码不对,把你的代码另存为 ANSI(gbk) 编码,
不知道怎么改编码的话,你可以用记事本打开你的源码,另 ...

试了试,还是不行,是不是编译器code的问题呢?如果是有什么办法能设置吗?

isdkz 发表于 2022-2-25 15:20:41

本帖最后由 isdkz 于 2022-2-25 15:24 编辑

18227452746 发表于 2022-2-25 15:17
是不是编译器code的问题呢?

不是,因为 Windows 的控制台窗口编码默认是 gbk,

而你的源码的字符编码是 utf-8 所以就乱码了,

你也可以把你控制台窗口的默认编码改为 utf-8 ,这样就不会乱码了,修改方式你可以看下面的链接:
https://jingyan.baidu.com/article/f7ff0bfcee2dc22e26bb13d5.html

18227452746 发表于 2022-2-25 15:35:11

isdkz 发表于 2022-2-25 15:20
不是,因为 Windows 的控制台窗口编码默认是 gbk,

而你的源码的字符编码是 utf-8 所以就乱码了,


谢谢授教!!!

18227452746 发表于 2022-2-25 15:55:58

18227452746 发表于 2022-2-25 15:35
谢谢授教!!!

18227452746 发表于 2022-2-25 16:31:19

isdkz 发表于 2022-2-25 15:20
不是,因为 Windows 的控制台窗口编码默认是 gbk,

而你的源码的字符编码是 utf-8 所以就乱码了,


试了很多方法,发现是新建的时候,忘记在文件后加.c了。不过也是感谢您。{:9_227:}
页: [1]
查看完整版本: 各位大神,为什么运行起来全是乱码呀?