用字符数组或字符指针做函数参数编程实现字符串逆序存放功能_C语言系列(八):指针的世界...
时间: 2023-07-20 22:07:26 浏览: 134
单片机 301-用指针数组作为函数的参数显示多个字符串(C语言).rar
下面是一个使用字符指针实现字符串逆序存放的示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str);
int main()
{
char str[100];
printf("Enter a string: ");
fgets(str, 100, stdin);
// fgets会将输入的换行符也存储在字符串中,需要将其替换为结束符'\0'
str[strcspn(str, "\n")] = '\0';
reverse_string(str);
printf("Reversed string: %s\n", str);
return 0;
}
void reverse_string(char *str)
{
int len = strlen(str);
char *start = str;
char *end = str + len - 1;
while (start < end) {
char temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
```
该程序首先使用 `fgets` 函数从标准输入读取一个字符串,并将其存储在字符数组 `str` 中。然后使用 `strcspn` 函数查找字符串中的换行符位置,并将其替换为结束符 `'\0'`。接下来调用 `reverse_string` 函数对字符串进行逆序存放。最后输出逆序存放后的字符串。
`reverse_string` 函数的实现比较简单,它使用两个指针 `start` 和 `end` 分别指向字符串的首尾位置,然后交换它们所指向的字符,并将指针向中间移动,直到两个指针相遇。这样就可以完成字符串的逆序存放。
阅读全文