| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1136 人关注过本帖
标题:求助!C语言分析
只看楼主 加入收藏
dy11
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-11-17
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:12 
求助!C语言分析
求执行以下程序段后的输出结果的原因
char a[ ]="\t\018\\\"12";
printf("%d",strlen(a));
谢谢!
搜索更多相关主题的帖子: C语言 
2013-11-17 10:18
南国神画
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:51
专家分:124
注 册:2013-10-24
收藏
得分:0 
定义的字符数组貌似写的有点问题,不过这个结果应该是求上面字符串的长度。
2013-11-17 10:42
Red_stone
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:32
专家分:120
注 册:2013-3-11
收藏
得分:10 
回复 楼主 dy11
我来回答你吧:
输出为7,因为a数组有7个元素。
a[0]='\t'   转义字符:水平制表符
a[1]='\01'  转义字符:八进制数
a[2]='8'
a[3]='\\'   转移字符:反斜杠
a[4]='\"'   转义字符:双引号
a[5]='1'
a[6]='2'
2013-11-17 11:03
裙下之臣
Rank: 1
等 级:新手上路
帖 子:13
专家分:4
注 册:2013-11-3
收藏
得分:0 
嗯。。。。。
2013-11-17 11:18
liu229118351
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:83
专家分:101
注 册:2013-10-23
收藏
得分:0 
回复 3楼 Red_stone
这种字符串要怎么读?类似的这种

单曲循环,需要信心+耐心+恒心
2013-11-17 12:04
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
为嘛要写这种自己迷惑自己的代码...

三十年河东,三十年河西,莫欺少年穷!
2013-11-17 12:12
Red_stone
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:32
专家分:120
注 册:2013-3-11
收藏
得分:0 
回复 5楼 liu229118351
这是数组,怎么读的话你先了解了解转义字符吧,先熟悉它。
2013-11-17 14:44
lleon
Rank: 2
等 级:论坛游民
帖 子:25
专家分:43
注 册:2013-10-28
收藏
得分:10 
输出为7,因为a数组有7个元素。
a[0]='\t'   转义字符:水平制表符
a[1]='\01'  转义字符:八进制数
a[2]='8'
a[3]='\\'   转移字符:反斜杠
a[4]='\"'   转义字符:双引号
a[5]='1'
a[6]='2'


\018不应该分开吧
2013-11-17 15:52
liu229118351
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:83
专家分:101
注 册:2013-10-23
收藏
得分:0 
回复 7楼 Red_stone
哦,我再去看看。。。

单曲循环,需要信心+耐心+恒心
2013-11-17 16:25
yshx88
Rank: 2
等 级:论坛游民
帖 子:57
专家分:68
注 册:2013-10-20
收藏
得分:0 
strlen是计算字符串的长度,你的字符数组里有特殊意义的转义字符,程序遇到后,会执行该功能,不能正确执行strlen,我调试了一下,结果是1,显然不对,你把那些字符改成普通字符就对了!

我的世界每天开出一朵花
2013-11-17 16:38
快速回复:求助!C语言分析
数据加载中...
 
   



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

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