windows ?下面EOF的輸入時ctrl+z,linux里面則是ctrl+d
static函數(shù)只能本文檔可見,但是如果test.c中包含了test.h各谚,而test.h中定義了void fun()滤蝠。在test.c中調(diào)用fun()函數(shù)是合法的
關(guān)于交換,最常見的就是引入一個中間變量值昆码,通過賦值來交換兩個變量的值。但是還有兩個方法,不需要定義第三個變量赋咽。
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;
}
以上可以成功實現(xiàn)兩個變量的值進行交換旧噪,但是切記:在這兩種函數(shù)中,如果傳入的兩個參數(shù)是同一個地址脓匿,就會導致地址存放的變量值置為0淘钟。比如說*x=*x+*y;這行語句中改變的是*x的值,但是由于x的地址也是y的地址陪毡,因此也就改變了*y的值日月。所以第二行中,*y=*x-*y;使得*y的值變?yōu)?.