无符号类型和有符号类型的比较是个坑

来源:互联网 发布:java hello word 编辑:程序博客网 时间:2024/04/29 21:33

今天写了这样的代码:   

编译好了,跑了一下。怎么没有返回,看来死循环了。我左看右看,怎么回呢? 看了输出,

 

错误的配置参数项(255), Usage : -c <配置文件路径> -n <服务器名>

<重复无数次>

 

终于找到原因了,原来循环条件ch != -1永远都会成立。因为char在我用的机器上被当做unsigned的一种类型,取值为0-255, 将-1付给这样的数得到的结果就是255。哎,基本功不扎实啊,犯了低级错误。看来拿一个无符号型和有符号型比较,确实容易出错。

原创粉丝点击