标题:重复赋值的指针和*(++p)........................
取消只看楼主
JENNET
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-5-28
 问题点数:0 回复次数:1 
重复赋值的指针和*(++p)........................

#include "stdio.h"
main()
{ int a[]={1,2,3,4,5,6},*p=a;
p="abcdefg";
printf("%c",*(++p));
}

这里测试p的值是c,为什么不是b呢?假如把第三或第四语句删除答案又是b了.
++p的加值与指针类型占用单元数有关?所以+2,而且还是在重复赋值时产生?

搜索更多相关主题的帖子: 赋值 指针 
2006-06-19 17:20
JENNET
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-5-28
得分:0 
int a[]={1,2,3,4,5,6},*p=a;
printf("%c",*(++p));

这里出来的是2.又不是3.

CGCHINA REVOLUTION.....
2006-06-19 17:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-73402-1-1.html




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

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