一个关于while循环的简单问题!

qq25539088 2009-05-23 01:19:48
#include <iostream>
using namespace std;
int main()
{
int a,b;
cout<<"你想看几次?:";
b=0; //为什么我把这段代码去掉的话,输出结果完全不同啊!
cin>>a;
while(a>b)
{
b++;
cout<<"人生最大的苦莫过于想死却死不了\n";
}
return 0;
}
--------------
在没有把b=0去掉的话,我输出一个数2,他就输出两次"人生最大的苦莫过于想死却死不了";当我把b=0去掉的话,却出现了循环。为什么?b没有赋值初始化不是为0吗?怎么输出结果却相差那么大~

...全文
152 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
smillyz 2009-05-23
  • 打赏
  • 举报
回复
在计算机中定义了变量不复制的话,计算机会随机的分配的,这样是不安全的!所以结果就不一样了!还有,年轻人思想干吗那么消极!
xiaoshi935 2009-05-23
  • 打赏
  • 举报
回复
对于不赋初值这种做法,我想LZ以后还是不要这样做。害人害己呀
lpf000 2009-05-23
  • 打赏
  • 举报
回复
人生最大的苦莫过于想活却活不好
zjf30366 2009-05-23
  • 打赏
  • 举报
回复
区别在于是“全局变量”还是“局部变量”,
int 型全局变量不初始化的话才会默认为0.
czysnow 2009-05-23
  • 打赏
  • 举报
回复
b没初始化之前,它的值是不可预知的。。(即前面所说的未知数)
kongfanhao 2009-05-23
  • 打赏
  • 举报
回复
b是什么,随机数还是0要看编译器的吧
zhangzhongke007 2009-05-23
  • 打赏
  • 举报
回复
上面的几位都说的非常清楚了,我想lz应该能明白了。
wanlong1215 2009-05-23
  • 打赏
  • 举报
回复
你可以自己做试验
简单的 int a;
cout<<&a<<endl;
cout<<a;
你就能看出来 int 是随即分配的地址
当不赋值的时候数是计算机随即给出的
milolinux 2009-05-23
  • 打赏
  • 举报
回复
b是局部变量,未初始化是一个随即值。
全局变量和静态变量才会自动初始化为0。
多看看书阿。
Sou2012 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ltc_mouse 的回复:]
如果是VC debug方式,栈变量没有初始化就是0xcc,int型即0xcccccccc,就是一个相当大的负数...
[/Quote]

学习了!
ltc_mouse 2009-05-23
  • 打赏
  • 举报
回复
如果是VC debug方式,栈变量没有初始化就是0xcc,int型即0xcccccccc,就是一个相当大的负数...
机智的呆呆 2009-05-23
  • 打赏
  • 举报
回复
人生最最大的苦莫过于想活却活不成。
lingyin55 2009-05-23
  • 打赏
  • 举报
回复
b是局部变量,除了static之外,局部变量是不会被自动初始化的,
这时b的值是一个随机数。

[Quote=引用楼主 qq25539088 的帖子:]
#include <iostream>
using namespace std;
int main()
{
int a,b;
cout < <"你想看几次?:";
b=0; //为什么我把这段代码去掉的话,输出结果完全不同啊!
cin>>a;
while(a>b)
{
b++;
cout < <"人生最大的苦莫过于想死却死不了\n";
}
return 0;
}
--------------
在没有把b=0去掉的话,我输出一个数2,他就输出两次"人生最大的苦莫过于想死却死不了";当我把b=0去掉的话,却出现了循环。为什么?b…
[/Quote]
codecola 2009-05-23
  • 打赏
  • 举报
回复
不初始化不一定是0,可以是任意值
lire1213 2009-05-23
  • 打赏
  • 举报
回复
b没有赋值初始化不为0,是一个未知数
事实就是如此,不要想当然
Paradin 2009-05-23
  • 打赏
  • 举报
回复
b没有赋值初始化不是为0,是随机数

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧