windows 下面EOF的输入时ctrl+z,linux里面则是ctrl+d
static函数只能本文档可见,但是如果test.c中包含了test.h,而test.h中定义了void fun()。在test.c中调用fun()函数是合法的
关于交换,最常见的就是引入一个中间变量值,通过赋值来交换两个变量的值。但是还有两个方法,不需要定义第三个变量。
void swap(int *x, int *y)
{
*x = *x + *y;
*y = *x - *y;
*x = *x - *y;
}
void swap2(int *x, int *y)
{
*y = *x^*y;
*x = *x^*y;
*y = *x^*y;
}
以上可以成功实现两个变量的值进行交换,但是切记:在这两种函数中,如果传入的两个参数是同一个地址,就会导致地址存放的变量值置为0。比如说*x=*x+*y;这行语句中改变的是*x的值,但是由于x的地址也是y的地址,因此也就改变了*y的值。所以第二行中,*y=*x-*y;使得*y的值变为0.