| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 637 人关注过本帖
标题:[求助]关于取地址的问题
只看楼主 加入收藏
漫游者李李西
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-11-11
收藏
 问题点数:0 回复次数:5 
[求助]关于取地址的问题

看一下这个程序:
#include <stdio.h>
#include <stdlib.h>

int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int *p=a;
int i;


printf("%d",*(++p));


printf("%d",*p);
system("PAUSE");
return 0;
}
其中第一句printf语句中,写成*(++p)时,输出第二个元素,而写成*(p++)时,输出第一个元素呢?

搜索更多相关主题的帖子: 地址 
2007-11-15 21:09
mycrazy
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-11-14
收藏
得分:0 
当++在前时 表示先进行自加 然后运算
 ++在后时 表示先进行运算 然后自加
 比如

#include"stdio.h"

void main()
{ int p=1,q=1s,m;
s=(++p)+1;
m=(q++)+1;
printf("%d\t%d\n",s,m);
}
则s=3 而m=2.

   学编程
     找工作
       不得不做
2007-11-15 21:44
visualcitybo
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-11-15
收藏
得分:0 
顶上
2007-11-15 23:19
漫游者李李西
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-11-11
收藏
得分:0 
可是有括号啊,不是应该++在取地址吗?

2007-11-16 08:53
漫游者李李西
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-11-11
收藏
得分:0 
还有,*p++也是先取p的地址人后再自加,一级运算符不是从右向左算吗?

2007-11-16 09:00
lusan168
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-11-17
收藏
得分:0 
其中第一句printf语句中,写成*(++p)时,输出第二个元素,///此时是先自增,然后在输出
而写成*(p++)时,输出第一个元素呢?   ////先输出,然后在自增

2007-11-17 16:31
快速回复:[求助]关于取地址的问题
数据加载中...
 
   



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

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