c语言中输入一个字符串,把字符串内容颠倒后输出
时间: 2023-12-26 19:06:31 浏览: 47
以下是一个简单的C语言程序,实现了输入一个字符串,然后将其内容颠倒后输出。
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int len, i;
printf("Please enter a string: ");
fgets(str, 100, stdin); // 输入字符串
len = strlen(str) - 1; // 减1是为了去掉fgets自动添加的换行符
printf("Reversed string: ");
for(i = len; i >= 0; i--)
{
printf("%c", str[i]); // 逐个输出字符
}
printf("\n");
return 0;
}
```
程序中使用了fgets函数读取用户输入的字符串,然后使用strlen函数获取字符串长度。最后通过一个循环,逐个输出字符,从而实现了颠倒字符串的效果。
相关问题
将一个字符串颠倒后输出C语言
以下是将一个字符串颠倒后输出的 C 语言代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char string[100];
printf("请输入字符串:");
scanf("%s", string);
int len = strlen(string);
char reverse_string[len+1];
// 将字符串颠倒
for(int i = 0; i < len; i++)
{
reverse_string[i] = string[len-1-i];
}
reverse_string[len] = '\0';
printf("颠倒后输出的字符串为:%s", reverse_string);
return 0;
}
```
输入示例:hello world
输出示例:dlrow olleh
C语言如何使得一个字符串左右颠倒
可以使用C语言中的指针来实现字符串的左右颠倒。具体步骤如下:
1. 定义一个指向字符的指针,指向字符串的开头;
2. 定义一个指向字符的指针,指向字符串的结尾;
3. 交换指针所指向的字符,指针向中间移动,重复此操作直到两个指针相遇。
下面是实现代码:
```
#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[] = "Hello, world!";
printf("Original string: %s\n", str);
reverse_string(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
输出结果为:
```
Original string: Hello, world!
Reversed string: !dlrow ,olleH
```