本文目录一览:
- 1、c语言运行后为什么出现n多的烫烫烫烫烫!!!!
- 2、C语言 字符串的输出,为什么输出那么多‘烫’呢?
- 3、c语言里运行的结果有一群烫烫烫是怎么回事
- 4、c语言老是出现烫!
- 5、C语言中输出烫怎么改
- 6、C语言程序输出有烫怎么办~
c语言运行后为什么出现n多的烫烫烫烫烫!!!!
出现多个烫的原因可能是未对字符数组或字符指针进行初始化或赋值。
举例说明如下:
char a[5];
printf("%s", a); // 出现多个烫,原因是未对字符数组a进行初始化或赋值
C语言 字符串的输出,为什么输出那么多‘烫’呢?
出现“烫”的原因是由于字符数组中的某些数组元素没赋值。
具体原因可以通过如下实例来进行说明:
char a[10];
a[0] = 'a';
a[1] = 'b';
a[2] = 'c';
a[3] = 'd';
printf("%s", a); // 输出结果就会出现很多“烫”,因为只对数组a中前四个元素进行了赋值,后面的元素未进行赋值,所以计算机默认就输出“烫”
如果作如下修改就会正常输出
char a[10];
a[0] = 'a';
a[1] = 'b';
a[2] = 'c';
a[3] = 'd';
a[4] = '\0';
printf("%s", a); // 输出abcd,因为加了结束字符'\0',而C语言中输出字符串是以结束字符'\0'作为结束输出的,所以只输出'\0'前面的所以字符,即abcd
c语言里运行的结果有一群烫烫烫是怎么回事
我想你可能是用了字符串,但是用printf的时候格式错误,解读的时候它就把要输出的东西解读成“烫”了...
没有把代码发上来,我也不能确定哪里出错了,只能帮到这
自己再检查检查,有些编译器不会报错的问题
c语言老是出现烫!
出现烫,表示的是数组没有进行初始化或赋值,
那个……取值运算符和++是同一优先级的……会从左往右走……比如:*p++等于(*p)++
于是乎,你的赋值语句全部没用,相当于整个数组几乎只是最后一个*p = '\0'有用,*p等于str3,不影响参数,于是,没有经过初始化和赋值的字符串,显示为全是烫
C语言中输出烫怎么改
首先你要知道为什么会输出烫烫烫
看下面的例子
可以看出来,output数组前10项都被设置为'a',也都正常输出了,但是后面的部分输出变成了烫烫烫
原因是字符串在输出时,会从头开始输出,直到遇到'\0'停止
而output数组在我们使用之前没有初始化过,所以除了前10项我们手动设置为'a',剩下的数据还是混乱的值,所以就会输出烫烫烫了
要解决这个问题,手动在字符串结尾处补一个'\0'即可,见以下代码:
#include stdio.h
#include math.h
#include stdio.h
int main()
{
char output[100];
for (int i = 0;i 10;i++)
{
output[i] = 'a';
}
output[10]='\0';
//如果把上一句删掉就会出现输出烫的错误
printf("%s\n", output);
return 0;
}
C语言程序输出有烫怎么办~
亲 问题就是你输入字符串后末尾没有结束标记 你可以把你的字符数组设置大一点啊 ASCII码一个字符占一个字节 万一是UNICODE呢 占两个字节了 设置大点没关系的
char c[50];
gets(c) 或者 gets_s(c, 50)
后者是vc2008以上要用的 不然报错这个函数不安全
用这个函数输入的末尾会默认添加一个‘\0’ 结束标记的 结束标记也算一个字符哦