| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 550 人关注过本帖
标题:为什么是这样??
只看楼主 加入收藏
Benthy2
Rank: 1
等 级:新手上路
帖 子:25
专家分:7
注 册:2011-12-16
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:5 
为什么是这样??
#include<stdio.h>
#include<string.h>
main()
{   
    char a[]="\t\018\\\"12";
    printf("%d\n",strlen(a));
   
}
输出结果是7,而在\t\0的0后在加\,即程序
#include<stdio.h>
#include<string.h>
main()
{   
    char a[]="\t\0\18\\\"12";
    printf("%d\n",strlen(a));
   
}
输出的结果就变成1了, 望高手详细指教!!
搜索更多相关主题的帖子: include 
2012-01-13 00:38
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
你知道'\0'是什麼字符嗎?

授人以渔,不授人以鱼。
2012-01-13 00:40
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:1 
'\0':字符串结束标志,楼主查下它的作用吧。
2012-01-13 00:45
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:1 
char a[]="\t\018\\\"12";
此时\01看做一个整体,strlen(a)是取整个a字符串的长度。有7个字符。你可以用puts(a);打印出来。
char a[]="\t\0\18\\\"12";
此时\0看做一个整体strlen(a)只去取到\t就结束所以是1个字符的长度.

梅尚程荀
马谭杨奚







                                                       
2012-01-13 00:50
回首依依
Rank: 7Rank: 7Rank: 7
来 自:苏州
等 级:黑侠
威 望:1
帖 子:193
专家分:524
注 册:2011-12-3
收藏
得分:1 
\0字符就结束啦
2012-01-13 12:58
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
收藏
得分:1 
\0字符串结束的标志

C坛友交流群 群号:161091913 ,欢迎经常在线的朋友加入,一起学习,一起进步。。
2012-01-16 14:43
快速回复:为什么是这样??
数据加载中...
 
   



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

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