标题:关于数组的指针交换的问题
取消只看楼主
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



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




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

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