【C语言提高24】二级指针做输入的第一种内存模型:数组指针

来源:互联网 发布:优衣库穿搭 知乎 编辑:程序博客网 时间:2024/05/16 12:08

打印排序:

#include<stdlib.h>#include<stdio.h>#include<string.h>#include<ctype.h>void main(){int i = 0, j = 0;int num = 0;char*tmp = NULL;//数组  只不过每一个元素都是指针--->指针数组char* myArray[] = {"aaaaaa","ccccc","bbbbb","1111111"};//打印num = sizeof(myArray) / sizeof(myArray[0]); //求出数组的长度for (i = 0; i < num; i++){printf("%s\n", myArray[i]);// printf("%s\n", *(myArray+i));}//排序for (i = 0; i < num; i++){for (j = i+1; j < num; j++){if (strcmp(myArray[i], myArray[j]) > 0)//前面的大  交换 {tmp = myArray[i];    //注意  交换的是数组元素   交换的是指针的值myArray[i] = myArray[j];myArray[j] = tmp;}}}printf("排序之后");for (i = 0; i < num; i++){printf("%s\n", myArray[i]);// printf("%s\n", *(myArray+i));}printf("\nhehhe");system("pause");return;}

函数封装:

void printMyArray(char**myArray, int num){int i = 0;for (i = 0; i < num; i++){printf("%s\n", myArray[i]);// printf("%s\n", *(myArray+i));}}void sortMyArray(char**myArray, int num){int i = 0,j = 0;char*tmp = NULL;for (i = 0; i < num; i++){for (j = i+1; j < num; j++){if (strcmp(myArray[i], myArray[j]) > 0)//前面的大  交换 {tmp = myArray[i];    //注意  交换的是数组元素   交换的是指针的值 //改变指针的指向myArray[i] = myArray[j];myArray[j] = tmp;}}}}void main(){int i = 0, j = 0;int num = 0;char*tmp = NULL;//数组  只不过每一个元素都是指针--->指针数组char* myArray[] = { "aaaaaa", "ccccc", "bbbbb", "1111111" };//打印num = sizeof(myArray) / sizeof(myArray[0]); //求出数组的长度printMyArray11(myArray, num);//排序sortMyArray11(myArray, num);printf("排序之后");printMyArray11(myArray, num);printf("\nhehhe");system("pause");return;}


0 0
原创粉丝点击