编写函数,要求用指针完成对一个字符串按照字母顺序从小打到排序后并输出。

2025-06-24 10:16:11
推荐回答(1个)
回答1:

程序里有几个问题:

① 函数sort的声明和定义,应该修改如下:

void sort(char number[], int n);

② 函数sort里面:

a) 修改temp为:

 char temp;

b) strcmp的那句修改如下:

if(number[k] > number[j])

之后,程序可以正常编译运行,并得到正确结果。 这是变化最小的修改方案。


你原来main程序中number定义成了执行数组的指针,其实没有必要,直接用数组名a即可;

由于比较的是每个字符,所以sort里面的temp不必用指针,直接用一个间接字符变量用于临时存储字符串中的字符即可。你原来的代码,把字符串和字符;数组和指针之间的关系没有理顺。 其它地方从语法上没有问题。