| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 505 人关注过本帖
标题:谁能帮我分析下这个程序段
只看楼主 加入收藏
雪鹰独行
Rank: 2
等 级:论坛游民
帖 子:40
专家分:10
注 册:2009-7-18
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:4 
谁能帮我分析下这个程序段
main(){
int a[5],i,*pa=a;
for(i=0;i<5;){
*pa=i;
printf("a[%d]=%d\n",i++,*pa++);
}
}
2009-11-08 09:05
yinfuyong
Rank: 2
等 级:论坛游民
帖 子:35
专家分:45
注 册:2009-10-31
收藏
得分:2 
数组和指针的问题
*pa=a;//取数组的首地址给指针,也就是指针指向数组的首地址
for(i=0;i<5;)
{
*pa=i;//给数组赋值
printf("a[%d]=%d\n",i++,*pa++);//*pa++等价于(*pa)++;
}
//
当i=0;*pa++=0;
当i=1;*pa++=1;

。。。。。。
依次循环
=======================================================
以上仅是个人的理解

[ 本帖最后由 yinfuyong 于 2009-11-8 11:12 编辑 ]
2009-11-08 10:45
yinfuyong
Rank: 2
等 级:论坛游民
帖 子:35
专家分:45
注 册:2009-10-31
收藏
得分:1 
数组和指针的问题
*pa=a;//取数组的首地址给指针,也就是指针指向数组的首地址
for(i=0;i<5;)
{
*pa=i;//给数组赋值
printf("a[%d]=%d\n",i++,*pa++);
//*pa++等价于(*pa)++

[ 本帖最后由 yinfuyong 于 2009-11-8 11:15 编辑 ]
2009-11-08 10:53
Bosen
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:65
专家分:102
注 册:2009-11-3
收藏
得分:1 
main()
{
int a[5],i,*pa=a;  //定义一个整型数组,整型变量,整型指针并指向地址a[0];
for(i=0;i<5;)      //此循环判断条件是i<5;   在这个循环体中执行了 将i的值赋值与pa指针所指向的数组元素;然后再将此输出;后变量i自加,指针指向下一个元素
{
*pa=i;
printf("a[%d]=%d\n",i++,*pa++);
}
}
2009-11-08 11:08
xuru1990
Rank: 2
等 级:论坛游民
帖 子:36
专家分:23
注 册:2009-10-28
收藏
得分:1 
这是用指针对数组进行赋值
在这里你把指针看成数组,只是指针是变量,可以用*pa++,而数组的名不行只能a+i或a[i];//i在循环变化
2009-11-08 12:41
快速回复:谁能帮我分析下这个程序段
数据加载中...
 
   



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

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