首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

为什么运行后结果总是'烫烫烫烫烫烫烫烫"

发布网友

我来回答

5个回答

热心网友

出现多个烫的原因可能是未对字符数组或字符指针进行初始化或赋值。

举例说明如下:
char a[5];
printf("%s", a); // 出现多个烫,原因是未对字符数组a进行初始化或赋值。

热心网友

你函数里的for循环有问题,我稍微改了一下
//s[i]中的最后一个是‘\0'不是0,虽然两个的值相等
for (i=1,j=0;s[i]!='\0';i += 2) {
if (s[i]%2)
{
t[j]=s[i];
j++; //j应该在if中加1
//这样在输出的时候才会正确
//如果你一定要在for中加的话,那么在输入最后再
//加一个任意字符就可以了
}
}
t[j] = '\0';//这里应该是这样,t[j-1]的话会把最后
//一个字符覆盖,
如果按你那样输出的话是输出b中的全部内容,而你只用了b申请的一些空间,剩下的是未知的,所以输出的时候除了正确的, 后面还跟了一大堆的“烫烫烫。。。”因为t是指向b的,所以t就相当于b。
输出可以改为这样:
while(*t != '\0')
{
putchar(*t);
t++;
}

热心网友

是for (i=1,j=0;s[i]!=0;i=i+2,j++)的j++的位置有问题,每一次循环j都递增(不管s[i]%2是否符合条件);还有判断条件"s[i]!=0",题意应该不是这个吧;
应改成:
for (i=1,j=0;s[i]!='\0';i=i+2)
{
if (s[i]%2)
{
t[j++]=s[i];
}

热心网友

不算烫啊 我觉得挺凉快的

热心网友

电脑硬件过热了,建议加散热,否则长时间高温工作对电脑不好(手动狗头)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com