| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 497 人关注过本帖
标题:关于字符串初始化
只看楼主 加入收藏
ZJQLOVELYY
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:166
注 册:2011-8-1
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:6 
关于字符串初始化
程序代码:
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
    int j,k;
    char a[]="ABCDEF";
    char b[]={'A','B','C','D','E','F'};
    printf("%d,%d",strlen(a),strlen(b));


   
   
    return 0;
}
运行结果为6,14
        不解,这两种初始化不是一样的麽 ?
   
搜索更多相关主题的帖子: 字符串 color 
2012-01-10 14:31
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:1 
charb[]={'A','B','C','D','E','F','\0'};

总有那身价贱的人给作业贴回复完整的代码
2012-01-10 14:39
ZJQLOVELYY
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:166
注 册:2011-8-1
收藏
得分:0 
回复 2楼 embed_xuel
为什么那样初始化会显示 有效长度为14的?
2012-01-10 14:44
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
自己想想strlen的工作原理

总有那身价贱的人给作业贴回复完整的代码
2012-01-10 14:47
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
收藏
得分:1 
strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。
2012-01-10 15:44
silent_world
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:258
专家分:1138
注 册:2011-9-24
收藏
得分:1 
建议你把a,b的首地址打印出来,你就明白strlen是找到那儿停止的。
另外,你把a的长度再加长一位运行,你也能看出点东西。
2012-01-10 18:44
kuangfengjiw
Rank: 2
等 级:论坛游民
帖 子:20
专家分:77
注 册:2011-12-16
收藏
得分:1 
strlen()函数是遇见'\0'结束,自己debug查看内存。
2012-01-10 18:50
快速回复:关于字符串初始化
数据加载中...
 
   



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

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