| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2707 人关注过本帖
标题:新手问一个问题
只看楼主 加入收藏
wcghappy
Rank: 1
等 级:新手上路
帖 子: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
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分: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
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-2-25
收藏
得分: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
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
'\0';
2008-02-29 12:46
wubizao
Rank: 1
来 自:荆州长大电信
等 级:新手上路
帖 子:223
专家分:0
注 册:2006-6-24
收藏
得分:0 
对,指向的是空字符\0
这里吧指针大小进行比较

在路上走,看见了C,从此爱上了她
2008-02-29 12:48
wcghappy
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-2-25
收藏
得分:0 
那么'0'在这个程序中是怎么运作的呢?
这个程序我不怎么明白~
请各位高手指点一下,谢谢~!1
2008-02-29 12:50
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分: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
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
ps:
sorry!

偶没看题,所以解释有误,希望没误导您。

教大家笑话了,偶很对不起楼主,很对不起大家,更对不起我自己。
2008-02-29 12:58
wubizao
Rank: 1
来 自:荆州长大电信
等 级:新手上路
帖 子:223
专家分:0
注 册:2006-6-24
收藏
得分: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
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-2-25
收藏
得分:0 
谢谢楼上的!
楼上的我明白~
按照前几个楼上的,在这个题中,a[7]因为没有对应的值,但是在"字符串"那章中说的结尾自动加一个'0',那么对应的就是a[7]='0'了.可是'0'是多少呢?
最近学C语言都学木了,学死了~
有时候转不过来弯了
不过还是等待非常明白的人把这道题解答一下具体的过程~
2008-02-29 13:02
快速回复:新手问一个问题
数据加载中...
 
   



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

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