导航:首页 > 源码编译 > c语言代码编译出来是乱码

c语言代码编译出来是乱码

发布时间:2022-10-24 06:05:38

⑴ 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;
}

运行结果

⑵ C语言问题,为什么输出总是乱码

看一眼就知道。。乱码是因为你的指针没有赋NULL,是野指针,指向了不明区域,所以会出现乱码,以后定义指针最好int
*a
=
NULL;这样子

⑶ 我的C语言程序运行后为什么是乱码

有几个小问题:

希望我的分享对你有用,感谢采纳

⑷ C语言为什么会出现乱码

完全没看懂你的程序。
有明显的几个奇怪的地方。
int time = { 1 };
unsigned int k = { 0 };
这两句不符合C语言语法吧,大括号一般很少用的,一般用在数组上,但是你的变量明显不是数组啊。

k = (unsigned int)malloc(sizeof(unsigned int) * time);
malloc函数,返回的是指针吧。你强制转换的不是指针啊,一般没人这么用,没看懂,为什么要强制转换成unsigned int ?应该写错了吧,是 unsinged int *吧。
p = getchar();//
没看懂,这里为什么要getchar,是因为怕有脏东西吗?这里会出问题的,但是代码看不出会发生什么问题。
scanf_s("%d", k, 8);
这里最好改成这样吧,scanf_s("%d", k, sizeof(unsigned int));这样比较安全,反正你要的是int,直接用sizeof,算出int的字节数就可以了,不用自己知道int是多少个字节,这样可以避免出错。
key[i] = { 0 };
这里则是,完全看不懂,因为不知道key是什么,只知道是个key的数组,是什么类型的,完全没懂,只知道初始化为0。
key[i] = k; 这里完全没看懂,只能猜了,循环32次,k是一个int的数,一般是4个字节的数,每个字节是8位,所以一个int是32位,你循环32遍,看起来是想把这个int数,一位一位的输出的样子。但是前面k是用mallco申请,k应该是个指针,不是int变量。直接把指针给一个数组,有点奇怪,所以应该是key[i]=*key;但是看起来,你是要一位一位的数据,而不是一整个int数,但是这里有个问题,我不知道,你是要低位先出,还是高位先出,而且C语言,想要一位一位的数据,要使用<<,>>左移和右移指令(这里不是C++,所以没有被C++的std::cout复用于输出,这是个标准C语言的底层操作符,一般嵌入式的用的多,IT用的少,所以一般不常用),所以一位一位的输出应该写成key[i]=(*k)>>1;或者key[i]=(*k)<<1,这样是分别是左移一位,右移一位后,把数据给key的数组,这里,要根据你自己的代码要实现的功能,去调整。
printf("%d", key); 我不知道,你是想输出位数据,还是什么。如果想看位数据,应该输出二进制的数不就好了。而不用输出int型数据。

⑸ C语言编程出现汉字输出乱码现象

C语言中一个汉字是由两个字节来表示的
而C语言编程主要是以字节为单位来显示
所以你的C语言输出中,如果汉字显示只显示了一个字节,就会有乱码出现了
正常的做法是,你的printf输出时,符号的长度要为偶数字节。

⑹ C语言出现乱码

有两个问题:

一、变量a是float型,用%d输入输出会出错,可以考虑把变量d定义成int型;

二、姓名是字符串,不是字符,可以考虑用字符数组来存储。

修改如下:

#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta;
floatb,c;
chard[10];
printf("请输入你的姓名: ");
gets(d);
printf("请输入你的年龄: ");
scanf("%d",&a);
printf("请输入你的身高m: ");
scanf("%f",&b);
printf("请输入你的体重kg: ");
scanf("%f",&c);//以下代码测试输入的正确性
printf("姓名:%s ",d);
printf("年龄:%d ",a);
printf("身高:%.2fm ",b);
printf("体重:%.2fkg ",c);
return0;
}

⑺ (c语言)为什么这段程序编译运行以后是乱码

#include<stdio.h>

intmain(){

charc;

scanf("%c",&c);

chara,b,d;

for(a='A';a<=c;a++){

for(b=a;b<c;b++){//输出前置空格

printf("");

}

for(b='A';b<=a;b++){//输出A-a当前的值

printf("%c",b);

}

for(d=a-1;d>='A';d--){//输出一行a当前之后的大写字母

printf("%c",d);

}

printf(" ");//换行,一行输出结束

}

return0;

}

⑻ c语言编译运行乱码是什么原因

这种情况多数是由于操作系统的语言选项不正确引起的。建议你查看一下控制面板中的区域和语言选项,特别是有关“非Unicode程序的语言”,一定要选择成“中文(简体,中国)”。然后重启电脑。

⑼ C语言中,这段代码运行时为啥会出现乱码

原有的程序代码没有任何的啊,实现了所有的要求,并且没有出现乱码:

阅读全文

与c语言代码编译出来是乱码相关的资料

热点内容
自己购买云主服务器推荐 浏览:419
个人所得税java 浏览:761
多余的服务器滑道还有什么用 浏览:189
pdf劈开合并 浏览:26
不能修改的pdf 浏览:750
同城公众源码 浏览:488
一个服务器2个端口怎么映射 浏览:297
java字符串ascii码 浏览:78
台湾云服务器怎么租服务器 浏览:475
旅游手机网站源码 浏览:332
android关联表 浏览:945
安卓导航无声音怎么维修 浏览:332
app怎么装视频 浏览:430
安卓系统下的软件怎么移到桌面 浏览:96
windows拷贝到linux 浏览:772
mdr软件解压和别人不一样 浏览:904
单片机串行通信有什么好处 浏览:340
游戏开发程序员书籍 浏览:860
pdf中图片修改 浏览:288
汇编编译后 浏览:491