| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4281 人关注过本帖
标题:strlen函数测整数256所占字节数为什么显示0?
只看楼主 加入收藏
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:29 
strlen函数测整数256所占字节数为什么显示0?
程序代码:
#include<stdio.h>
#include<string.h>
void main()
{
    char a[10]={256,22,15,1};
    printf("%d\n",strlen(a));
}
这个程序输出结果是0,strlen()函数测的整数数组元素a[0]的值应该是1嘛?
所占内存:0xff 0x00 0x00 0x00表示占一个字节才对啊,为什么会输出“0”?
2016-10-12 14:08
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:10 
256相当于ASCII中的0.
ASCII的范围在0-255。输入的整数M,输出的字符相当于M%256
strlen测试的字符串长度是不包括'\0'的

[此贴子已经被作者于2016-10-12 14:21编辑过]

2016-10-12 14:14
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 2楼 linlulu001
不好意思啊,我的变量a是个整型数组int a[10],我写的时候写错了。
2016-10-12 14:34
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<string.h>
void main()
{
    int a[10]={256,22,15,1};
    printf("%d\n",strlen(a));
}
这才是我想问的。
2016-10-12 14:34
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
回复 4楼 弟大勿勃
256 是 0x100,不是0xFF
2016-10-12 14:46
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 5楼 rjsp
对哈,那么这个0x100在二进制中表示成100000000,看似是一个字节(8位),
但在16进制中好像就要占12位了,那么0x100到底算哪样?不应该是占一个字节。
难道不占字节?
2016-10-12 15:01
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 2楼 linlulu001
对哈,那么这个0x100在二进制中表示成100000000,看似是一个字节(8位),
但在16进制中好像就要占12位了,那么0x100到底算哪样?不应该是占一个字节。
难道不占字节?
2016-10-12 15:06
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:0 
回复 4楼 弟大勿勃
strlen是测字符型数组长度的,测int数组长度能通过编译吗?
2016-10-12 15:18
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 8楼 xzlxzlxzl
能额,准确的说strlen是测量数据所占实际字节数的。
2016-10-12 15:25
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 8楼 xzlxzlxzl
实际它只测了整数元素a[0]。
2016-10-12 15:26
快速回复:strlen函数测整数256所占字节数为什么显示0?
数据加载中...
 
   



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

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