| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 567 人关注过本帖
标题:[求助]指针数组的问题
只看楼主 加入收藏
xuexuexue
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2004-7-19
收藏
 问题点数:0 回复次数:5 
[求助]指针数组的问题
# include <stdio.h>
main()
{static char b[]="Goodbye";
 char *chp=&b[7];
 while(--chp>=&b[0]) putchar(*chp);
 putchar('\n');
}
这道题输出出的是*chp也就是b[7]的值,为什么程序运行的结果会是eybdooG
搜索更多相关主题的帖子: 指针 
2004-10-11 22:23
小快乐
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2004-9-10
收藏
得分:0 

他输出的是*chp 不是b[7]的值,而是..怎么说呢,指针?地址?

如果想正常输入输出就别用putchar这样的,用%s这样的比较好.

在你打进去字符串的时候,他的光标就一直移动到后面,你理解是指针地址移动或是指针移动也好.

然后现在他是从后面一个一个打出来.不是串而是个.

我理解也理解一半,不知道怎么讲才能懂.


爱看小说历史故事书吃零食玩游戏看漫画动画片种花看足球看美女看帅哥爱和小孩子玩.欢迎有同样爱好的加我qq229278452,请注明你的爱好
2004-10-11 22:52
FOR_LIVE
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2004-9-29
收藏
得分:0 

#include<stdio.h> main() { char b[6]={"Goodye"}; char *p; p=b; while(p<=&b[6]) { putchar(*p); p++; } }

也许这样可以了!!你试试看吧! 因为你的那个chp指针变量的第一地址是B[7]的地址,*chp的值是e! 反过来了!我的理解是这样的!

2004-10-11 23:14
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
以下是引用xuexuexue在2004-10-11 22:23:22的发言: # include <stdio.h> main() {static char b[]="Goodbye"; char *chp=&b[7]; while(--chp>=&b[0]) putchar(*chp); putchar('\n'); } 这道题输出出的是*chp也就是b[7]的值,为什么程序运行的结果会是eybdooG

看清楚,这是一个循环,--ch,ch=&b[6],ch>=&b[0];所以最后的如果就是将该字符串反序输出.


2004-10-12 10:10
xuexuexue
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2004-7-19
收藏
得分:0 
脑子一下没转过来,呵呵,谢谢了。也谢谢楼上的二位回答

C语言让我感爱到了计算机的乐趣 目前目标:程序员
2004-10-13 21:20
快速回复:[求助]指针数组的问题
数据加载中...
 
   



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

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