我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 求助:c++高手请进,怎么该程序进入死循环了。。。。 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

ljpdxj



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 687
威望: 0
浮云: 1108
在线等级:
注册时间: 2006-02-28
最后登陆: 2008-06-29

5come5帮你背单词 [ deaf /def/ a. 聋的,不愿听的 ]


求助:c++高手请进,怎么该程序进入死循环了。。。。

Quote:

#include<iostream.h>

void main()
{
  char array[200];
  for(char ch=0;ch<200;ch++)
  {   array[ch]=07;
    cout<<array[ch];
  }
}

程序怎么进入无限循环了??? 把我机子卡在那了...怎么也结束不了~~~
高手解释下,多谢~ 如果上面for循环里面的变量ch改为int型就好了....
里面到底是什么机制?
我就想问下如果用char ch,结果why会这样?
顶端 Posted: 2007-03-25 20:31 | [楼 主]
ljpdxj



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 687
威望: 0
浮云: 1108
在线等级:
注册时间: 2006-02-28
最后登陆: 2008-06-29

5come5帮你背单词 [ waist /weist/ n. 腰部,腰 ]


我靠。懂了。。。。。
char类型最大127~~~
顶端 Posted: 2007-03-25 20:42 | [1 楼]
ljpdxj



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 687
威望: 0
浮云: 1108
在线等级:
注册时间: 2006-02-28
最后登陆: 2008-06-29

5come5帮你背单词 [ amongst /ə'mΛŋst/ prep在…之中,在…中间 ]


Quote:
引用第2楼zc1984于2007-03-25 20:43发表的:
Ill-defined for-loop: 'char' values are always of range '-128' to '127'. Loop executes infinitely

so, Index '-128' is out of valid index range '0' to '199' for possibly stack allocated buffer 'array'

so, ~~~~
.......


是不是改这样解释: 
char从0~127时二进制为00000000~01111111
到127后再然后++
这时为100000000~11111111
到255后溢出,又进入上面的循环
顶端 Posted: 2007-03-25 20:49 | [2 楼]
ljpdxj



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 687
威望: 0
浮云: 1108
在线等级:
注册时间: 2006-02-28
最后登陆: 2008-06-29

5come5帮你背单词 [ secret /'si:krit/ a. 秘密的;n. 秘密,秘诀 ]


Quote:
引用第6楼zc1984于2007-03-25 20:51发表的:


这就是传说中的溢出了~~

谢谢蝈蝈哈,蝈蝈高手,向蝈蝈学习
顶端 Posted: 2007-03-25 20:53 | [3 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.008787(s) query 6, Time now is:11-27 11:18, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号