| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1037 人关注过本帖
标题:关于数组的指针交换的问题
取消只看楼主 加入收藏
xxx9527
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-4-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
关于数组的指针交换的问题
# include <stdio.h>
# include <stdlib.h>
void main()
{
    int a[5] = {1,2,3,4,5};
    int *p,*q,i;
    int * temp ;
//第1种交换方式,提示错误。
    temp = a+1;   
    a+1 = a+2;    // error:编译的时候提示,表达式必须是可修改的左值。
    a+2=temp;

// 第2种交换方式,是正确的。
    p = a+1;
    q = a+2;
    temp = p;         
    p = q;
    q = temp;

    for(i = 0;i<1;i++)
    {
    printf("%5d,%5d",*a+1,*a+2);
    }
printf("\n");
system("pause");
}
请问这两个方式的区别在那里?
搜索更多相关主题的帖子: 表达式 system include 
2016-04-10 12:27
xxx9527
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-4-10
收藏
得分:0 
懂了,谢谢
2016-04-11 10:47
快速回复:关于数组的指针交换的问题
数据加载中...
 
   



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

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