C++烫烫是怎么回事?

发布网友

我来回答

5个回答

热心网友

之所以出现烫烫,是因为你没有对char a进行初始化,定义一个变量而不初始化总是很危险的,因为你定义的一个变量有了自己的内存空间,但它却并不知道这个值到底是什么。建议每个内置类型的对象都要初始化。虽然这样做并不总是必须的,但会更加容易安全。
#include<iostream>
using namespace std;
int main()
{
char a='c';int i;
for(i=1;(i<=5)||((a=getchar())!='\n');i++)
cout<<a;
cout<<endl;
return 0;
}

热心网友

程序有逻辑错误
改成 for(i=1;(i<=5)&&((a=getchar())!='\n');i++)
“烫”是0xCC,就是汇编码int 3,程序在debug模式下溢出

热心网友

因为||运算执行的时候后只要前一个条件成立就不判断后面的表达式了,所以你的程序是直接执行五次循环就结束了!(a=getchar())!='\n'没有得到执行!

热心网友

烫烫是4个字节了,你还输烫就是6字节,因此只出来2个烫烫。
要是你想出现5个的话就i<=10

热心网友

因为i为1时i<=5为真,就不执行a=getchar(),故a未赋值,打印出来为乱码
改成((a=getchar())!='\n')||(i<=5)

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