字符串排序c语言指针
时间: 2023-09-13 16:09:10 浏览: 117
C语言-字符串排序
在C语言中,可以使用指针来对字符串进行排序。下面是一个示例代码,演示了如何使用指针对字符串数组进行排序:
```c
#include <stdio.h>
#include <string.h>
void sortStrings(char *strings[], int n) {
int i, j;
char *temp;
for (i = 0; i < n-1; i++) {
for (j = i+1; j < n; j++) {
if (strcmp(strings[i], strings[j]) > 0) {
temp = strings[i];
strings[i] = strings[j];
strings[j] = temp;
}
}
}
}
int main() {
int i, n;
printf("Enter the number of strings: ");
scanf("%d", &n);
char *strings[n];
printf("Enter %d strings:\n", n);
for (i = 0; i < n; i++) {
char buffer[100];
scanf("%s", buffer);
strings[i] = strdup(buffer);
}
sortStrings(strings, n);
printf("Sorted strings:\n");
for (i = 0; i < n; i++) {
printf("%s\n", strings[i]);
free(strings[i]);
}
return 0;
}
```
在这个示例中,我们首先输入要排序的字符串的数量,然后输入这些字符串。然后,我们调用 `sortStrings` 函数,该函数使用指针对字符串数组进行排序。最后,我们打印排序后的字符串数组。
请注意,在使用指针对字符串数组进行排序时,我们使用了 `strcmp` 函数来比较字符串的大小。如果第一个字符串大于第二个字符串,则交换它们的指针。这样,通过多次比较和交换操作,我们可以将字符串数组按字母顺序排序。
这只是一个简单的示例,仅用于演示如何使用指针对字符串进行排序。在实际情况中,可能需要考虑更多的错误处理和边界情况。
阅读全文