c语言烫烫烫
Ⅰ C 语言代码出错为什么显示“烫烫烫”,而不是其它字
局部变量在没有初始化时, c语言规范要求是随机值.
但VC系列没有按照这个规定来做, 而是把没有初始化的栈空间赋值为0xCC.
于是 在输出未初始化的局部变量字符串时,就会输出
0xCC对应的字符. 而两位代表一个汉字, 0xCCCC就是汉字烫.
Ⅱ C语言编程中怎样可以用最简单的方法故意输出长串的“烫烫烫烫烫烫”乱码
可以试试这个代码
Ⅲ C语言出现 烫烫的乱码 求助求助
一般出现这种情况就是你引用了你没有初始化的内存空间的。输出"烫烫烫烫"是因为vc会自动把未用函数的局部变量空间按字节全部初始化为CC(打个比方,你定义一个10个元素的char数组,结果你初始化了2个元素,后面没初始化,没赋值,没有使用,就变CC了)。CC CCH在Unicode的编码中就是表示中文的“烫”,所以就是很多“烫”字。
Ⅳ c语言编译时出现“烫烫烫烫烫烫烫烫烫”
字符数组没有结尾符号,或者打印字符串的地址错了
Ⅳ C语言运行时出现“烫烫烫烫烫烫烫烫烫”
分析
1、struct stu student[NUM]; //你不都说你定义了多个人,但只输入了一次信息吗。#define NUM 3/*人数*/
2、 case 2:print(student,NUM);break;//你调用输出函数的时候NUM参数是输出NUM个人,
3、因为只输入一个student的信息,其他student[1]、student[2].......没有值,直接输出上次内存所存,这就是随机的乱码。
解决思路
方案1:
输入信息的时候输完NUM 次也就是3次。
方案2:
调用输出的时候,只让他输出你所输入信息的个数。
case 2: print(student,1);break; //这里参数二中NUM换成 1,因为你只输入1次信息
方案 3: /**推荐方案*/
定义数组的时候初始化,使得其初始化都为0,这样输出的时候至少不会有乱码
struct stu student[NUM] = {0};
或
struct stu student[NUM] ;
memset(student,0,sizeof(stu)*NUM);
Ⅵ C语言 字符串的输出,为什么输出那么多‘烫’呢
输出"烫烫烫烫"是因为vc会自动把未用函数的局部变量空间按字节全部初始化为CC。而定义的字符数组空间不够,所以就占用了那部分不属于自己的空间,因为cout输出char*是要遇到空字符才停止的,所以便把那些垃圾都打出来了。
即是说在最后没有字符串结束标志'