| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1090 人关注过本帖
标题:字符数组的长度
只看楼主 加入收藏
王璐
Rank: 2
等 级:论坛游民
帖 子:126
专家分:54
注 册:2010-7-26
结帖率:93.1%
收藏
已结贴  问题点数:5 回复次数:12 
字符数组的长度
为什么第一个数组长度不定?
#include<stdio.h>
#include<string.h>
void main()
{
    char p[]={'a','b','c'},q[10]={'a','b','c'};
    printf("%d %d\n",strlen(p),strlen(q));
}
搜索更多相关主题的帖子: 长度 字符 
2010-09-16 19:00
谜棋云中逗
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2010-9-9
收藏
得分:0 
已经给出了全部的元素
2010-09-16 19:04
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
应为有可能stack里面的'\0'不是直接在'c'后面的。

(gdb) n
7        printf("%d \n",strlen(p));
(gdb) p p
$8 =   "abc"
(gdb) p *p
$9 = 97 'a'
(gdb) x/8c p
0xbffff1dd:    97 'a'    98 'b'    99 'c'    32 ' '    -110 '\222'    5 '\005'    8 '\b'    0 '\000'
(gdb)
2010-09-16 19:11
王璐
Rank: 2
等 级:论坛游民
帖 子:126
专家分:54
注 册:2010-7-26
收藏
得分:0 
回复 3楼 Devil_W
什么意思。。不懂。。我是初学者
2010-09-16 19:13
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
strlen是找到第一个'\0'结束。
2010-09-16 19:16
王璐
Rank: 2
等 级:论坛游民
帖 子:126
专家分:54
注 册:2010-7-26
收藏
得分:0 
回复 5楼 Devil_W
那如果不用这个函数,单纯的说这个数组的长度,可不可以是3?
2010-09-16 19:25
自由战士89
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:387
注 册:2010-9-2
收藏
得分:5 
char p[]={'a','b','c'}
里面的元素个数与输出长度的关系如下
元素个数         strlen(p)
1-4               7
5-8               11
9-12              15
...               ...
不知道为什么。刚验证出来的。
2010-09-16 19:45
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
内存对齐
2010-09-16 20:47
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
很明白啊!strlen是求字符串长度的,而明显楼主的只是字符数组!所以不行
2010-09-16 21:29
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
回复 楼主 王璐
从你 这几个问题可以看出你 的 基础知识不扎实,你 要回去看重头书,基础很重要,就算你 弄懂这些还有好多不懂,问题越级越多总有一天你 就会玩完了

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2010-09-16 23:31
快速回复:字符数组的长度
数据加载中...
 
   



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

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