| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7303 人关注过本帖
标题:弱弱的问 char *s="\ta\017bc"中指针变量s 指向的字符串所占字节数是6的原因 ...
只看楼主 加入收藏
Twinkle_cj
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2010-7-3
结帖率:93.33%
收藏
已结贴  问题点数:5 回复次数:14 
弱弱的问 char *s="\ta\017bc"中指针变量s 指向的字符串所占字节数是6的原因。加分
问1 char *s="\ta\017bc"中指针变量s 指向的字符串所占字节数是6的原因。

问2 char *s="\ta\018bc";
   for(;*s!='\0';s++)printf("*")
   的循环次数是6的原因。   
谢谢你。
搜索更多相关主题的帖子: 变量 char 指针 字节 
2010-08-31 13:06
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:5 
'\t'一个字符,'a'一个字符,'\017'一个字符,'b'一个字符,'c'一个字符,加上字符串结尾的'\0',一共6字节
问2同问1。。。

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2010-08-31 13:11
Twinkle_cj
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2010-7-3
收藏
得分:0 
回复 2楼 succubus
谢谢你。我去给你加分哈!!
2010-08-31 13:16
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
以下是引用Twinkle_cj在2010-8-31 13:06:27的发言:

问1 char *s="\ta\017bc"中指针变量s 指向的字符串所占字节数是6的原因。

问2 char *s="\ta\018bc";
   for(;*s!='\0';s++)printf("*")
   的循环次数是6的原因。   
谢谢你。
1  '\t' 是一个转义字符 相当于键盘“Tab”键
  ‘a’ 普通字符
   '\017'转义字符 ASCII代码值为8进制数17即10进制数15的那个符号(LZ可以自己去查下看是什么符号)
  ‘b’ 普通字符
  ‘c’ 普通字符  
   然后再加一个字符串结束标志‘\0’所以指针变量s 指向的字符串所占字节数是6
2. 循环次数应该是6次吧??因为"\ta\018bc"中有六个字符加'\0'占7个字节,循环条件是*s!='\0',所以应该是循环6次!

  其中 '\01'转义字符 ASCII代码值为8进制数1即10进制数1的那个符号(LZ可以自己去查下看是什么符号)
千万不要理解'\018'为1个转义字符,因为018不是一个正确的8进制数(只能出现0~7的数码符号)


[ 本帖最后由 jack10141 于 2010-8-31 13:23 编辑 ]

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-31 13:19
Twinkle_cj
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2010-7-3
收藏
得分:0 
回复 2楼 succubus
第二题 还是不太明白 当for遇到最后\0时 条件不满足循环结束了 没有进行第六次循环呀!为什么是进行六次循环呢
2010-08-31 13:20
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
以下是引用Twinkle_cj在2010-8-31 13:20:19的发言:

第二题 还是不太明白 当for遇到最后\0时 条件不满足循环结束了 没有进行第六次循环呀!为什么是进行六次循环呢
看4楼的解释

[ 本帖最后由 jack10141 于 2010-8-31 13:25 编辑 ]

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-31 13:23
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:0 

ls正解

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2010-08-31 13:23
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
回复 楼主 Twinkle_cj
这个题目有一定的迷惑性,问题的关键比较隐蔽!

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-31 13:26
Twinkle_cj
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2010-7-3
收藏
得分:0 
回复 4楼 jack10141
呵呵 辛苦了  但是第二题还是不太明白
当for遇到最后‘\0’时 条件不满足循环结束了 没有进行第六次循环呀!为什么是进行六次循环呢
2010-08-31 13:27
Twinkle_cj
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2010-7-3
收藏
得分:0 
回复 4楼 jack10141
啊 您说的是\018占俩字符 是吧
2010-08-31 13:30
快速回复:弱弱的问 char *s="\ta\017bc"中指针变量s 指向的字符串所占字节数是6 ...
数据加载中...
 
   



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

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