| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 468 人关注过本帖
标题:指针问题
只看楼主 加入收藏
whoaiwo310
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2010-3-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
指针问题
#include "stdio.h"
void pch(char*c)
{*(c+1)+=2;*(c+2)=0;}
main()
{char *p,c[40]="abc123";
 p=c+2;pch(p);*c+=1;
 printf("%s",c);
 getch();
 }
输出结果是bbc3  但是指针太多  看的我有点头晕 希望高人讲解下  谢谢了
搜索更多相关主题的帖子: 指针 
2010-03-22 20:07
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:10 
#include "stdio.h"
void pch(char*c) //"c123"
{
    *(c+1)+=2; //  *(c+1) = '1' + 2  = '3'
    *(c+2)=0;   //   *(c+2) = '2' 替换为 '\0' --->  "c3\023"
}
main()
{
    char *p,c[40]="abc123";
    p=c+2;              // *p = 'c'
    pch(p);             // p = "c3\023";
    *c+=1;              // 'a'  + 1 = 'b' --> "bbc3\023"
    printf("%s",c); // bbc3
    getch();
}
2010-03-22 20:52
whoaiwo310
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2010-3-16
收藏
得分:0 
就有一步看不懂 void pch(char*c) //"c123"  为什么传的是p指针(指向C) 而到传到上面的子函数就变成“c123"  帮我讲下  讲完就可以结贴了 谢了啊
2010-03-22 21:27
一口三个汉堡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:155
专家分:525
注 册:2010-3-21
收藏
得分:5 
p=c+2; 指针变量就指向c了,所以到函数里就是"c123"了

坚持做对的事情,而不是容易的事情。
2010-03-22 21:38
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:0 
p指向的地方是c+2,也就是“c123”,它是一个地址,函数pch的形参char *c等于这个地址,也是指向"c123"

2010-03-22 21:42
xichong
Rank: 7Rank: 7Rank: 7
来 自:四川南充
等 级:黑侠
威 望:2
帖 子:146
专家分:582
注 册:2009-6-10
收藏
得分:5 
"c123"是指将字符串"c123"的首地址即c的地址赋值给了形参指针char*c
2010-03-22 21:43
快速回复:指针问题
数据加载中...
 
   



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

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