#include<stdio.h>voidswap(int m,int n);intmain(void){int m =23;int n =57;printf("before-----m = %d, n = %d\n", m, n);swap(m, n);printf("after------m = %d, n = %d\n", m, n);return0;}voidswap(int a,int b){int temp =0;
temp = a;
a = b;
b = temp;}
#include<stdio.h>voidswap(int m,int n);voidswap2(int*,int*);intmain(void){int m =23;int n =57;printf("before-----m = %d, n = %d\n", m, n);//swap(m, n);swap2(&m,&n);printf("after------m = %d, n = %d\n", m, n);return0;}voidswap(int a,int b){int temp =0;
temp = a;
a = b;
b = temp;}voidswap2(int*a,int*b){int temp =0;
temp =*a;*a =*b;*b = temp;}
2.指针做函数参数
3.数组做函数参数
#include<stdio.h>voidBubbleSort(int arr[],int n){//int n = sizeof(arr)/sizeof(arr[0]);//printf("n=%d\n", n);//n=1//BubbleSort:sizeof(arr)=4//printf("BubbleSort:sizeof(arr)=%d\n", sizeof(arr));//BubbleSort:sizeof(arr[0])=4//printf("BubbleSort:sizeof(arr[0])=%d\n", sizeof(arr[0]));for(int i =0; i < n-1; i++){for(int j =0; j < n - i -1; j++){if(arr[j]> arr[j +1]){int temp = arr[j];
arr[j]= arr[j +1];
arr[j +1]= temp;}}}}intmain(void){int arr[]={5,89,3,22,40,31,9,22,67,28,45,78};//printf("main:sizeof(arr)=%d\n", sizeof(arr));int n =sizeof(arr)/sizeof(arr[0]);BubbleSort(arr,n);for(int i =0; i < n; i++){printf("%d ", arr[i]);}return0;}
#include<stdio.h>int m =100;int*test_func2(int a,int b){int p =1234;//return &m;return&p;}intmain(void){int* ret =NULL;
ret =test_func2(10,20);printf("ret=%d\n",*ret);return0;}