C语言中的无符号数
来源:互联网 发布:胎教讲故事软件 编辑:程序博客网 时间:2024/06/06 16:44
首先来看一道题目:
自己写一遍运行一下,发现打印了“ok”,怪怪的,str2比str1长吗?
为什么呢?
原因是,Char型数组的长度一定是>=0,所以strlen()函数的返回值是一个无符号整数,4-7=-3在无符号整数中自动转化成一个正整数,在visual studio 2012下debug会看到如下所示的结果,差值是一个429...的大数,所以结果出错:
下面,程序做一点点修改,把strlen(str2)和strlen(str1)强转成int型,int型默认为有符号数,就出现了正确的结果,如下图所示:
另外,在看一个特别的地方:
Str2数组有5个字符,但是strlen(str2)的返回值却是4,原来str[4]=’\0’,在内存中存储标志着字符串的结束,但是却不算在字符串的长度之内。
0 0
- C语言中的无符号数
- C语言中的无符号数和有符号数
- C语言中的有符号数与无符号数
- c语言中的有符号数和无符号数
- 关于C语言中的无符号数和有符号数
- 关于C语言中的无符号数和有符号数
- C语言中的无符号数与有符号数混合运算时隐含转换问题
- C语言中的无符号数与有符号数混合运算时隐含转换问题
- 无符号数陷阱Unsignged C语言
- c语言有符号数和无符号类型计算
- c语言之无符号/有符号数加减法运算
- c语言无符号和有符号数解析
- C语言中的无符号整数
- C语言中的无符号扩展和带符号扩展
- C语言中的无符号扩展和带符号扩展
- C语言中的无符号扩展和带符号扩展
- C语言中无符号数运算判断溢出
- C语言 有/无符号数 需要注意的问题
- SAP Sybase IQ16.0 (Sybase Central 客户端),提供一个命令行客户端
- 在Ubuntu (linux)以HTTP方式共享当前文件夹的文件
- 两个有序数组合并成一个有序数组
- Azure学习笔记:Cloud Service(4)
- 003_003 Python 计算日期之间隔了几周
- C语言中的无符号数
- biancheng
- SpringMVC(三)——其他知识
- C语言单元测试
- android屏幕适配基础知识
- hdu1008 Elevator
- Android实现图片轮播切换
- range xrange iterator generator
- HighCharts之2D堆条状图