标题:[求助]常见错误
只看楼主
wqhai123
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-4-20
 问题点数:0 回复次数:4 
[求助]常见错误
在一本书上看到这样一个很小的程序
#include<iostream.h>
int main()
{
for(char i=32;i<128;i++)
cout<<i;
return 0;
}
编译没错误但是 一运行 电脑 死机了.但是 把char 改成 unsigned char 有正常了.为什么啊??
搜索更多相关主题的帖子: char int main 
2007-05-02 17:27
cz522321
Rank: 1
等 级:禁止访问
威 望:2
帖 子:569
专家分:5
注 册:2006-3-13
得分:0 
你定义的i为char型的,在i自增到127的时候,它继续增加,为128,而这个时候的128在这个定义里面为一个负的值了,永远小于128,所以类型不匹配了,出现报警错误.

2007-05-02 17:40
cz522321
Rank: 1
等 级:禁止访问
威 望:2
帖 子:569
专家分:5
注 册:2006-3-13
得分:0 
而定义为unsigned char类型的时候,类型不会出现负的值,也就不会出现永远小于的时候.

2007-05-02 17:42
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
得分:0 
char类型取值范围是 -128=====127 这个范围,会遇到这个情况,
unsigned char 的取值范围是0===255,所以可以正常使用

2007-05-02 19:02
wqhai123
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-4-20
得分:0 
谢谢了
2007-05-03 16:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-136591-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.295470 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved