第12行if和第十四行那个else都要用{}把后面的分支的内容单独地包起来,不然if内读完了,继续读else后面内容
还有表示数组长度,sizeof(array)/sizeof(int),数组字节除以对应对应类型的字节才是数组长度
void swap(int*array,int n){
if(array==NULL) {
printf("error\n");
return;
}else{
int tmp=array[0];
array[0]=array[n-1];
array[n-1]=tmp;
}
}
也可以这样,简短地装b
#include<stdio.h>
#include<stdlib.h>
#define SWAP(A,B) {A^=B;B^=A;A^=B;}
void swap(int*array,int n){
if(array==NULL) {
printf("error\n");
return;
}else{
SWAP(*array,*(array+(n-1)));
}
}
int main(){
int a[3]={1,2,3};
swap(a,3);
for(int i=0;i<3;i++)
printf("%d\n",a[i]);
system("pause");
}
应该可能是return前面那排缺;