函数指针的声明
类型名 (* 指针变量名)(参数类型1, 参数类型2, ……)1int (*typeOfSort)(const void *elem1, const void *elem2);
可以通过strcmp函数比较输入的命令行, 来决定升序或降序排序
|
|
qosrt用 法:
|
|
参数:
- 待排序数组首地址
- 数组中待排序元素数量
- 各元素的占用空间大小
- 指向函数的指针,用于确定排序的顺序
typeOfSort所指向的函数类型需要程序员自己编写
- 如果 elem1 在 elem2之前返回负整数
- 如果 elem1 在 elem2之后返回正整数
- 如果 elem1 与 elem2的顺序无所谓,返回**0
在比较具体数字之前需要将const int 类型的指针转化为const int 类型
|
|
命令行参数以空格区分不同命令,如果要输入带有空格的字符串如 Hello World 需使用双引号括起
argc: 代表启动程序时, 命令行参数的个数, C/C++规定, 可执行程序本身的文件名, 也算作一个命令行参数, 因此, argc的值至少是1
argv: 指针数组, 其中每个元素都是一个char* 类型的指针, 每个指针指向一个字符串, 若命令行参数内部用空格, 用双引号括起来即可, 如下实例中的”hello world”
如果输入的字符中带有双引号的话: 123”456 就是 123”””456 “A””B” 就是 “””A””””””B””” , 带有百分号的话:%号转义就是两个百分比:%%1example:myprogram "hello world"
我的代码:github