导航:首页 > 源码编译 > 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语言代码编译出来是乱码相关的资料

热点内容
php获取当天的日期时间戳 浏览:140
aix命令补全 浏览:60
文件加密后无法打开怎么解决 浏览:140
如何暴力下载app视频 浏览:594
802d编程书籍 浏览:403
ug一步式展开命令详解 浏览:296
嵌入式软件pdf 浏览:794
抓老鼠的程序员 浏览:112
手机实现编译器 浏览:687
程序员做财务好吗 浏览:182
java开发直播 浏览:381
对接云平台服务器 浏览:950
单片机555定时器 浏览:192
杭州青少年编程培训机构 浏览:295
咋样发文件夹 浏览:13
示教器编程过程 浏览:478
单片机硬件乘法器 浏览:252
androiddipdp区别 浏览:934
开机动画压缩包 浏览:69
怎么用obj文件编译 浏览:459