C语言对输入的字符串逆序
时间: 2024-06-13 10:09:13 浏览: 129
以下是C语言对输入的字符串逆序的代码实现:
```c
#include <stdio.h>
#include <string.h>
void reverse(char* left, char* right) {
while (left < right) {
char tmp = 0;
tmp = *left;
*left = *right;
*right = tmp;
left++;
right--;
}
}
int main() {
char arr[100] = { 0 };
gets(arr); //获取字符串
int len = strlen(arr); //计算字符串长度,以求最后一位的地址
reverse(arr, arr+len-1); //进行倒置
printf("%s\n", arr);
return 0;
}
```
相关问题
C语言编程,字符串逆序
在C语言编程中,字符串逆序是一个常见的练习,通常通过指针操作来实现。下面是一种简单的步骤:
1. 定义一个函数,比如`reverse_string(char* str)`,它接受一个指向字符数组的指针作为输入,因为C语言中字符串实际上就是以'\0'结尾的一系列字符。
2. 初始化两个指针,一个指向字符串的开始(`str`),另一个指向字符串的结束(通常是`str + strlen(str) - 1`),`strlen()`函数用于计算字符串长度。
3. 使用循环,当两个指针相遇或者第一个指针大于第二个指针时停止。在这个过程中,交换它们所指的字符,然后移动这两个指针向对方靠近。
4. 最终,`str`会指向反转后的字符串的末尾,即原字符串的开头。
这是一个伪代码示例:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
char temp;
int start = 0;
int end = strlen(str) - 1;
while (start < end) {
temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
int main() {
char str[] = "Hello, World!";
reverse_string(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
c语言中如何字符串逆序
在 C 语言中,你可以使用数组和循环来实现字符串的逆序。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void reverse(char str[], int length);
int main() {
char str[] = "Hello, World!";
int len = strlen(str); // 获取字符串长度
printf("Original string: %s\n", str);
reverse(str, len); // 调用逆序函数
printf("Reversed string: %s\n", str); // 输出逆序后的字符串
return 0;
}
// 字符串逆序函数
void reverse(char str[], int length) {
char temp; // 临时字符用于交换
for (int i = 0; i < length / 2; i++) { // 只需要遍历一半的长度,因为对称处理
temp = str[i]; // 保存当前字符
str[i] = str[length - 1 - i]; // 将当前字符放到原位置的反向位置
str[length - 1 - i] = temp; // 将反向位置的字符放回原位置
}
}
```
运行这个程序,你会看到原始字符串 "Hello, World!" 的逆序结果。
阅读全文