#include<stdio.h>
int main()
{
void swap(int x,int y);
void swap2(char s[]);
int a=5,b=7;
char w[]="ab";
printf("a=%d,b=%d\n",a,b);
swap(a,b);
printf("swap:a=%d,b=%d\n",a,b);
printf("w=%s\n",w);
swap2(w);
printf("swap:w=%s\n",w);
return 0;
}
void swap(int x,int y)
{
int z;
if(x<y)
{z=x;x=y;y=z;}
}
void swap2(char s[])
{
char t;
t=s[0];s[0]=s[1];s[1]=t;
}
运行结果是:
a=5,b=7
swap:a=5,b=7
w=ab
swap:w=ba
很明显,字符串两元素实现了互换,而两个整数则没有,为什么呢?