C语言编程出现汉字输出乱码现象
发布网友
发布时间:2022-04-23 18:37
我来回答
共3个回答
热心网友
时间:2023-09-18 14:46
C语言中一个汉字是由两个字节来表示的
而C语言编程主要是以字节为单位来显示
所以你的C语言输出中,如果汉字显示只显示了一个字节,就会有乱码出现了
正常的做法是,你的printf输出时,符号的长度要为偶数字节。
热心网友
时间:2023-09-18 14:47
//因为不知道你具体的功能流程,所以我只能先就语法来提下代码的问题
int cha()
{
//int a[N],b[N];
//int i=0,x,v1,v2;
char a[N][M] = {0};//M为字符串最大长度加1,根据要求设置
int b[N] = {0};
int i=0,x,v2;
char v1[M] = {0};
FILE *f;
if((f=fopen("D:\123.txt","r"))==NULL)
{
printf("没有足够的数据显示!(返回上一级菜单1号选择)\n");return 0;
}
while(!feof(f))
{
//fscanf(f,"%s%d",&a[i],&b[i]);
fscanf(f,"%s%d", a[i],&b[i]);//%s说明输入的是字符串,不能用int型变量接收,要用char *型的
i++;
}
fclose(f);//后续没用到,最好将文件关闭
struct t
{
char a1[10];
int a2;
}t;
printf("请输入您所要录入的站点代号:\n");
scanf("%d",&i);
printf("请输入您所要录入的站点名称:\n");
//scanf("%s",&v1);
scanf("%s",v1);
printf("请输入当前站点到前一站点的价格:\n");
scanf("%d",&v2);
FILE *fp;
fp=fopen("D:\123.txt","r+");
//a[i]=v1;
strcpy(a[i], v1);
b[i]=v2;
//fprintf(fp,"%s",&a[i]);
fprintf(fp,"%s",a[i]);
fprintf(fp,"%5d\n",b[i]);
fclose(fp);
}
热心网友
时间:2023-09-18 14:47
不加&就是指针了追问//1.设计内容
//用户能够方便得查询某条公交线路的详细信息。
//要求系统实现以下功能:
//1) 提供系统操作的主界面;
//2) 提供某条公交线路各个站点的录入、修改、删除与保存;
//3) 提供某条公交线路各个站点间隔的票价信息。
追答这个真心不会啊,我也是初学者,编写不来