您的位置:首页 > 其它

指针作为函数参数

2016-02-25 10:26 218 查看
演示结果1:



演示结果2:



示例代码:

#include <iostream>

void swap(int *,int *);
void swap1(int *,int *);
void function1(void);
void displayIntArray(int *,int);
void bubbleSort(int *,int);
void function2(void);
int main(int argc, char** argv) {
//function1();
function2();
return 0;
}

/**
演示排序
*/
void function2(void){
int array[10]={9,1,2,5,6,3,4,8,7,10};
printf("原来的数组: ");
displayIntArray(array,10);
bubbleSort(array,10);
printf("排序后数组: ");
displayIntArray(array,10);

}

/**
冒泡排序
*/
void bubbleSort(int *array,int arrayLength){
for(int i = 0;i<arrayLength;i++){
for(int j = 1;j<arrayLength-i;j++){
if(array[j]<array[j-1]){
swap1(&array[j],&array[j-1]);
}
}
}
}

/**
展示数组
*/
void displayIntArray(int *a,int arrayLength){

for(int i = 0;i<arrayLength;i++){
printf("%d ",a[i]);
/*
五个数字 换一行
if((i+1)%5==0){
printf("\n");
}
*/
}
printf("\n");

}
/**
演示换位
*/
void function1(void){
int a = 0xffffffff;
int b = 0xfffffffe;
printf("a = %d,b = %d\n",a,b);
swap1(&a,&b);
printf("a = %d,b = %d\n",a,b);

int c = 0x7fffffff;
int d = 0x00000001;
printf("c = %d,d = %d\n",c,d);
swap1(&c,&d);
printf("c = %d,d = %d\n",c,d);
}

/**
交换算法1
*/
void swap(int *a,int *b){
int temp = *a;
*a = *b;
*b = temp;
}

/**
交换算法2
*/
void swap1(int *a,int *b){//两数之和大于0xffffffff 应该是也可以的。
*a = *a + *b;//10 9
*b = *a - *b;//10 1
*a = *a - *b;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: