陈小邪 发表于 2013-11-9 19:20:35

各位帮忙看看,指针的问题

#include<stdio.h>
int main()
{
      void scan(int *p,int n);
      void sort(int *p,int n);
      void print(int *p,int n);
      int a;
      scan(a,10);
      sort(a,10);
      print(a,10);
      return 0;

}
void scan(int *p,int n)
{
      int i;
      for(i=0;i<n;i++)
      {
                scanf("%d",p);
                p++;
      }
      printf("tiaoshi\n");
}
void sort(int *p,int n)
{
      int i,j,min,max;
      int *p1=p;
      min=*p;
      max=*p;
      for(i=1,j=1;i<n;i++,j++)
      {
                if(min>*(p+i))min=*(p+i);
                if(max<*(p+j))max=*(p+j);
      }
      p1=p+j;p+j=p;p=p1;
      p1=p+i;p+i=p;p=p1;//此处为何会报错:c(18) : error C2106: '=' : left operand must be l-value,




}
void print(int *p,int n)
{
      int i;
      for(i=0;i<n;i++)
                printf("%d\t",p);

}

zdt3476 发表于 2013-11-9 19:38:43

左值不应该存在表达式,顺便说,你的程序错误有点多……
页: [1]
查看完整版本: 各位帮忙看看,指针的问题