
正文
c语言执行为什么不烫,c语言为什么执行不了
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言运行后为什么出现n多的烫烫烫烫烫!!!
输出烫烫烫烫是因为vc会自动把未用函数的局部变量空间按字节全部初始化为CC。而定义的字符数组空间不够,所以就占用了那部分不属于自己的空间,因为cout输出char*是要遇到空字符才停止的,所以便把那些垃圾都打出来了。
因为输出烫烫烫烫是因为vc会自动把未用函数的局部变量空间按字节全部初始化为CC(打个比方,你定义一个10个元素的char数组,结果你初始化了2个元素,后面没初始化,没赋值,没有使用,就变CC了)。
c[20]={0};这里要初始化。不初始化的话,系统默认就是:烫烫烫烫 由于link时,你没有把最后一个字符串的结束符号\0复制过来,所以输出时认为没有结束,直到遇到\0。
因为只输入一个student的信息,其他student[1]、student[2]...没有值,直接输出上次内存所存,这就是随机的乱码。解决思路 方案1:输入信息的时候输完NUM 次也就是3次。
这是你定义的字符串没有初始化为0,当输出的时候编译器找到不到字符串结束符。就会出现这样的乱码。你可以将你的结构体中定义的字符数组都初始化为0.或者直接用memset()把结构体定义的变量初始化为0试一下。
相关问答
Q1: C语言中输出烫怎么改
1、在字符数组最后加上 \0,作为字符串结束标志。
2、方案1:输入信息的时候输完NUM 次也就是3次。方案2:调用输出的时候,只让他输出你所输入信息的个数。
3、输出b[]时,for循环应该为:for(ne=0ne7;ne++);因为b[]里面一共有7个字符。七个之后为乱码。你多输出了三个乱码。“烫”为乱码。
4、这是你定义的字符串没有初始化为0,当输出的时候编译器找到不到字符串结束符。就会出现这样的乱码。你可以将你的结构体中定义的字符数组都初始化为0.或者直接用memset()把结构体定义的变量初始化为0试一下。
Q2: C语言中。。烫和后面的符号哪来的?。。这不是超出字符数组的长度了么...
输出烫烫烫烫是因为vc会自动把未用函数的局部变量空间按字节全部初始化为CC。而定义的字符数组空间不够,所以就占用了那部分不属于自己的空间,因为cout输出char*是要遇到空字符才停止的,所以便把那些垃圾都打出来了。
出现“烫”的原因是由于字符数组中的某些数组元素没赋值。
在C语言中,是将字符串作为字符数组来处理的。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符\0作为结束标志。因此是6个字节。C语言中没有字符串类型,字符串是存放在字符型数组中的。
数组下标一般是从0开始的。 如果一个数组有三个元素,应该是a[0]、a[1]、a[2],如果a.Length=3,则会超出了数组的界限,因为数组中根本不存在下标为3的元素。
长度不同:对于字符数组,其长度是固定的,其中任何一个数组元素都可以为 null 字符。因此,字符数组不一定是字符串。字符串的结尾是以null 字符结尾,所以长度会有所不同。
Q3: C语言,这个程序运行后怎么出现“烫烫烫烫烫烫烫烫烫烫烫烫……”啊...
1、出现多个烫的原因可能是未对字符数组或字符指针进行初始化或赋值。
2、请lz在使用数组前,先把字符数组用‘\0’初始化!就行ok了!因为的字符串的长度是80.而可能你赋值的时候,没有达到80的长度!而且程序也不会自动帮你添加‘\0’。
3、c[20]={0};这里要初始化。不初始化的话,系统默认就是:烫烫烫烫 由于link时,你没有把最后一个字符串的结束符号\0复制过来,所以输出时认为没有结束,直到遇到\0。
4、输出烫烫烫烫是因为vc会自动把未用函数的局部变量空间按字节全部初始化为CC。而定义的字符数组空间不够,所以就占用了那部分不属于自己的空间,因为cout输出char*是要遇到空字符才停止的,所以便把那些垃圾都打出来了。
Q4: c语言老是出现烫!
因为只输入一个student的信息,其他student[1]、student[2]...没有值,直接输出上次内存所存,这就是随机的乱码。解决思路 方案1:输入信息的时候输完NUM 次也就是3次。
输出烫烫烫烫是因为vc会自动把未用函数的局部变量空间按字节全部初始化为CC。而定义的字符数组空间不够,所以就占用了那部分不属于自己的空间,因为cout输出char*是要遇到空字符才停止的,所以便把那些垃圾都打出来了。
这是你定义的字符串没有初始化为0,当输出的时候编译器找到不到字符串结束符。就会出现这样的乱码。你可以将你的结构体中定义的字符数组都初始化为0.或者直接用memset()把结构体定义的变量初始化为0试一下。
出现多个烫的原因可能是未对字符数组或字符指针进行初始化或赋值。
输出b[]时,for循环应该为:for(ne=0ne7;ne++);因为b[]里面一共有7个字符。七个之后为乱码。你多输出了三个乱码。“烫”为乱码。
c语言执行为什么不烫的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言为什么执行不了、c语言执行为什么不烫的信息别忘了在本站进行查找喔。








