|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 新手问一个问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2707
人关注过本帖
标题:
新手问一个问题
只看楼主
加入收藏
wcghappy
等 级:
新手上路
帖 子:23
专家分:0
注 册:2008-2-25
楼主
收藏
问题点数:0 回复次数:24
新手问一个问题
#include<stdio.h>
main()
{
char b[]="ABCDEFG",*chp=&b[7];
while (--chp>&b[0])
putchar(*chp);
putchar('\n');
}
问:程序运行后的输出结果是:GFEDCB.
这里有几块不明白的地方.比如说第四行的最后的b[7],这个指的值是哪个啊?按照我的理解没有可以指向的字符啊?不应该是b[6]么?
还有第五行的b[0]指的是不是A呢?
搜索更多相关主题的帖子:
五行
2008-02-29 12:32
举报帖子
使用道具
赠送鲜花
leeco
等 级:
贵宾
威 望:
10
帖 子:1029
专家分:177
注 册:2007-5-10
第
2
楼
收藏
得分:0
#include<stdio.h>
main()
{
char b[]={'A','B','C','D','E','F','G',0},*chp=b+7;
while (--chp>b){
putchar(*chp);
}
putchar('\n');
}
2008-02-29 12:36
举报帖子
使用道具
赠送鲜花
wcghappy
等 级:
新手上路
帖 子:23
专家分:0
注 册:2008-2-25
第
3
楼
收藏
得分:0
楼上的这个我明白~
可是我不明白的是这个:
b[0]=A
b[1]=B
b[2]=C
b[3]=D
b[4]=E
b[5]=F
b[6]=G
可是b[7]等于什么啊?
2008-02-29 12:39
举报帖子
使用道具
赠送鲜花
xianshizhe111
等 级:
新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
第
4
楼
收藏
得分:0
'\0';
2008-02-29 12:46
举报帖子
使用道具
赠送鲜花
wubizao
来 自:荆州长大电信
等 级:
新手上路
帖 子:223
专家分:0
注 册:2006-6-24
第
5
楼
收藏
得分:0
对,指向的是空字符\0
这里吧指针大小进行比较
在路上走,看见了C,从此爱上了她
2008-02-29 12:48
举报帖子
使用道具
赠送鲜花
wcghappy
等 级:
新手上路
帖 子:23
专家分:0
注 册:2008-2-25
第
6
楼
收藏
得分:0
那么'0'在这个程序中是怎么运作的呢?
这个程序我不怎么明白~
请各位高手指点一下,谢谢~!1
2008-02-29 12:50
举报帖子
使用道具
赠送鲜花
广陵绝唱
等 级:
贵宾
威 望:
29
帖 子:3607
专家分:1709
注 册:2008-2-15
第
7
楼
收藏
得分:0
回复Lz的帖子
我明白你的意思了。
建议您重新看一遍数组那章,a[7]是从0开始算的,也就是说:
a[7]=a[0],a[1],a[2],a[3],a[4],a[5],a[6]。
a[7]表示的是里面的7个数组,而记数是从0开始的,到了数组[6]已经结束,所以这个数组和[7]一点关系也没有。a[7]是个地址,它所指向的数据是未知的,随机出现的。
我的回答也许有错误的地方,请“高手”们更正。
2008-02-29 12:52
举报帖子
使用道具
赠送鲜花
广陵绝唱
等 级:
贵宾
威 望:
29
帖 子:3607
专家分:1709
注 册:2008-2-15
第
8
楼
收藏
得分:0
ps:
sorry!
偶没看题,所以解释有误,希望没误导您。
教大家笑话了,偶很对不起楼主,很对不起大家,更对不起我自己。
2008-02-29 12:58
举报帖子
使用道具
赠送鲜花
wubizao
来 自:荆州长大电信
等 级:
新手上路
帖 子:223
专家分:0
注 册:2006-6-24
第
9
楼
收藏
得分:0
char b[]="ABCDEFG"
里面存有A,B,C,D,E,F,G,\0共8个字符
\0表明这8个字符被理解为字符串
*chp=&b[7];
表明chp指向b[7],即指向空字符\0
在路上走,看见了C,从此爱上了她
2008-02-29 13:00
举报帖子
使用道具
赠送鲜花
wcghappy
等 级:
新手上路
帖 子:23
专家分:0
注 册:2008-2-25
第
10
楼
收藏
得分:0
谢谢楼上的!
楼上的我明白~
按照前几个楼上的,在这个题中,a[7]因为没有对应的值,但是在"字符串"那章中说的结尾自动加一个'0',那么对应的就是a[7]='0'了.可是'0'是多少呢?
最近学C语言都学木了,学死了~
有时候转不过来弯了
不过还是等待非常明白的人把这道题解答一下具体的过程~
2008-02-29 13:02
举报帖子
使用道具
赠送鲜花
25
1/3页
1
2
3
快速回复:
新手问一个问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.091137 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved