c语言字符串反序数组方法
时间: 2023-06-21 17:05:25 浏览: 119
以下是使用C语言反转字符串并将其存储为数组的方法:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, len;
printf("Enter a string: ");
scanf("%s", str);
len = strlen(str);
char rev[len];
for(i=0; i<len; i++) {
rev[i] = str[len-i-1];
}
rev[i] = '\0';
printf("Reversed string: %s\n", rev);
return 0;
}
```
在此示例中,我们使用 `strlen()` 函数获取输入字符串的长度,并使用 `for` 循环将其反转并存储为新的字符数组 `rev`。最后,我们打印反转后的字符串。
相关问题
C语言 字符串反序存放
在C语言中,字符串实际上是一个字符数组,为了实现字符串的反序存放,你可以采用以下步骤:
1. 首先,定义一个指向字符串首地址的指针,然后获取字符串长度,可以使用`strlen()`函数。
```c
char str[] = "Hello, World!";
int len = strlen(str) - 1; // 减一是因为strlen会计算结束符'\0'
```
2. 定义另一个指针,从字符串的末尾开始(即`str+len`),并使用两个指针同时向中间移动,依次将字符交换位置。
```c
char temp;
for (int i = 0; i < len / 2; i++) {
temp = str[i];
str[i] = str[len - 1]; // 右移字符
str[len - i - 1] = temp; // 左移字符
}
```
3. 最后,记得在字符串末尾添加终止符`\0`,因为C语言中的字符串实际上是字符数组,结尾需要这个标记表示字符串的结束。
```c
str[len] = '\0';
```
完整的代码示例:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char* str) {
int len = strlen(str) - 1;
char temp;
for (int i = 0; i < len / 2; i++) {
temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
str[len] = '\0'; // 添加终止符
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
reverseString(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
C语言编写字符串反序的函数
在C语言中,编写一个函数来反序一个字符串通常会涉及到字符数组的操作。这里是一个简单的例子,展示如何创建一个名为`reverse_string`的函数,它接受一个指向字符数组的指针,并在原地反序字符串:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void reverse_string(char *str);
// 反转字符串的实现
void reverse_string(char *str) {
if (str == NULL || strlen(str) <= 1) { // 检查空字符串或单字符的情况
return;
}
int start = 0; // 开始位置
int end = strlen(str) - 1; // 结束位置
while (start < end) {
char temp = str[start]; // 交换第一个和最后一个字符
str[start] = str[end];
str[end] = temp;
// 移动开始和结束指针
start++;
end--;
}
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
reverse_string(str);
printf("Reversed string: %s\n", str); // 输出将是 "!dlroW ,olleH"
return 0;
}
```
阅读全文