C语言,一串字符的逆序
时间: 2024-01-20 20:19:04 浏览: 81
可以用以下代码实现一串字符的逆序输出:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
gets(str);
int len = strlen(str);
for(int i=len-1; i>=0; i--) {
printf("%c", str[i]);
}
printf("\n");
return 0;
}
```
首先使用 `gets()` 函数读取输入的字符串,然后使用 `strlen()` 函数获取字符串的长度。接下来使用循环从字符串的末尾开始逐个输出字符。需要注意的是,C语言中的字符串以 `\0` 结尾,因此字符串的长度为字符串中字符的数量加上一个结尾的 `\0`。
相关问题
c语言字符串逆序
可以使用指针的方法来实现字符串的逆序。具体步骤如下:
1. 定义一个指向字符串首地址的指针,以及一个指向字符串尾地址的指针。
2. 通过循环,交换首尾指针所指向的字符,并将指针移动到下一个字符的位置,直到两个指针相遇。
3. 最后输出逆序后的字符串即可。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
char *start = str;
char *end = str + strlen(str) - 1;
while (start < end) {
char temp = *start;
*start++ = *end;
*end-- = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverse_string(str);
printf("逆序后的字符串为:%s\n", str);
return 0;
}
```
例如,输入字符串 "hello",输出结果为 "olleh"。
用C语言输入一串字符串逆序打印字符
在C语言中,要实现输入一串字符串并逆序打印字符,可以按照以下步骤操作:
1. 首先,我们需要定义一个动态数组来存储用户输入的字符串。因为不知道用户会输入多长的字符串,所以通常使用`fgets()`函数读取直到遇到换行符为止。
```c
#include <stdio.h>
#include <stdlib.h> // 为了使用malloc()
#define MAX_LEN 100 // 假设最大长度为100,可以根据实际情况调整
// 动态分配内存存储字符串
char* inputString = (char*) malloc(MAX_LEN * sizeof(char));
```
2. 使用`fgets()`函数读取用户输入,并记得去掉末尾的换行符`\n`。
```c
printf("请输入一串字符串:");
fgets(inputString, MAX_LEN, stdin); // 读取用户输入
inputString[strlen(inputString) - 1] = '\0'; // 去掉末尾的'\n'
```
3. 接下来,我们创建一个新的字符串来存储逆序后的结果,并从原字符串的最后一个字符开始遍历到第一个字符。
```c
char reversedString[MAX_LEN];
int index = MAX_LEN - 1; // 从倒数第一位开始
while (index >= 0) {
reversedString[index] = inputString[index]; // 将每个字符复制到新字符串
index--;
}
reversedString[index + 1] = '\0'; // 结束字符串
```
4. 最后,打印出逆序后的字符串。
```c
printf("逆序后的字符串是:%s\n", reversedString);
```
阅读全文