字符串反转c语言
时间: 2023-06-22 16:23:31 浏览: 183
可以使用指针的方法来反转字符串,具体实现如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = strlen(str);
char *p1 = str;
char *p2 = str + len - 1;
while (p1 < p2)
{
char temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
printf("反转后的字符串:%s\n", str);
return 0;
}
```
首先使用 `strlen()` 函数获取字符串的长度,然后定义两个指针 `p1` 和 `p2`,分别指向字符串的首尾字符。通过循环交换 `p1` 和 `p2` 指向的字符,最终就可以完成字符串的反转。
相关问题
字符串反转c语言解决
在C语言中,字符串反转可以通过循环或者递归的方式实现。下面是一个简单的循环方法:
```c
#include <stdio.h>
#include <string.h>
void reverse(char str[]) {
int length = strlen(str);
for (int i = 0; i < length / 2; i++) {
char temp = str[i];
str[i] = str[length - i - 1]; // 交换字符位置
str[length - i - 1] = temp;
}
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 防止换行符影响
input[strlen(input) - 1] = '\0'; // 去除fgets添加的换行符
reverse(input);
printf("反转后的字符串: %s\n", input);
return 0;
}
```
在这个例子中,`reverse`函数接收一个字符串数组,通过一个指针从两端向中间交换字符,实现了字符串的反转。
用数组字符串反转c语言
在C语言中,可以使用数组和指针来实现字符串反转。下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char* str) {
int length = strlen(str);
int start = 0;
int end = length - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
int main() {
char str[] = "Hello, World!";
printf("原始字符串:%s\n", str);
reverseString(str);
printf("反转后的字符串:%s\n", str);
return 0;
}
```
上述代码中,我们定义了一个`reverseString`函数,该函数接受一个字符数组指针作为参数,并使用双指针法将字符串进行反转。在`main`函数中,我们定义了一个字符串数组`str`,并调用`reverseString`函数对其进行反转操作。最后,我们打印出反转后的字符串。
阅读全文