使用指针实现字符串逆序
时间: 2024-03-10 21:40:32 浏览: 19
使用指针实现字符串逆序的方法如下:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char *str) {
char *p, *q, ch;
p = str;
q = p + strlen(str) - 1;
while (p < q) {
ch = *q;
*q-- = *p;
*p++ = ch;
}
}
int main() {
char str[20];
gets(str);
reverseString(str);
printf("%s", str);
return 0;
}
```
运行结果:
输入:Hello World
输出:dlroW olleH
相关问题
c语言编程:使用指针实现字符串逆序输出
可以用指针来实现字符串逆序输出,代码如下:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int length = strlen(str);
char *begin = str;
char *end = str + length - 1;
while (begin < end) {
char temp = *begin;
*begin = *end;
*end = temp;
begin++;
end--;
}
}
int main() {
char str[] = "Hello, world!";
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
这个程序中,我们定义了一个 `reverse` 函数,它接受一个指向字符串的指针。这个函数首先计算字符串的长度,然后定义了两个指针,一个指向字符串的开头,一个指向字符串的结尾。接下来,我们使用一个循环来交换开头和结尾的字符,直到两个指针相遇为止。最后,我们在 `main` 函数中调用 `reverse` 函数,并将结果输出到控制台上。
不用指针,c语言如何实现字符串逆序
可以用字符数组来实现字符串逆序。具体实现方法如下:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char str[]) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char str[] = "hello world";
printf("Original string: %s\n", str);
reverse_string(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
在这个例子中,我们定义了一个 `reverse_string` 函数,它的参数是一个字符数组,用于存储字符串。该函数会遍历字符串的前一半,将第 i 个字符和第 len-i-1 个字符互换位置,从而实现字符串的逆序。最后在主函数中,我们可以调用 `reverse_string` 函数来逆序一个字符串。