-

- 加为好友
- 发送私信
- 在线聊天
cprime
- 等级:

- 可用分等级:
- 总技术分:
- 总技术分排名:
|
| 发表于:2008-08-20 03:14:1721楼 得分:0 |
答案为什么是a,楼主是不是认为把字符b传给指针p,期望输出的是b是吗。如果是这样的话,你应当 这样 *p = b[1]。而你*p=b,是把b[0],也就是字符a传给了指针p。 #include <stdio.h> point(char *p) { p+=3; } main() { char b[4]={'a','b','c','d'}, *p=b; printf("%d\n",p); printf("%c\n",*p); point(p); printf("%d\n",p); printf("%c\n",*p); } 输出的结果 -1073850452 a -1073850452 a | | |
修改
删除
举报
引用
回复
| |