C语言 8.7字符串指针反转 【问题描述】写一个程序来读取其输入的字符串,并将输入的字符串倒过来打印。要进行反转,请编写一个函数reverse来翻转字符串
时间: 2024-03-03 10:50:58 浏览: 28
好的,这是一个经典的字符串反转问题,以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int len = strlen(str);
for(int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverse(str);
printf("反转后的字符串为:%s\n", str);
return 0;
}
```
在这里,我们定义了一个 `reverse()` 函数,它接收一个字符串指针参数,并将该字符串反转。我们使用 `strlen()` 函数获取字符串的长度,然后通过循环交换字符串中的字符,最终达到反转的目的。
在 `main()` 函数中,我们首先读取用户输入的字符串,然后调用 `reverse()` 函数来反转字符串,并最终打印出反转后的字符串。
相关问题
用C语言编写一个程序,输入一个字符串,反转字符串并输出
以下是用C语言编写的程序,输入一个字符串,反转字符串并输出:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int len, i, j;
char temp;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
for (i = 0, j = len - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
printf("反转后的字符串:%s", str);
return 0;
}
```
程序首先使用scanf()函数读取用户输入的字符串,并使用strlen()函数获取该字符串的长度。然后,程序使用一个for循环,从字符串的两端开始,依次交换字符,以达到反转字符串的目的。最后,程序输出反转后的字符串。
用c语言指针功能写一个程序逆反输入的字符串。
好的,以下是用C语言指针功能写一个程序逆反输入字符串的代码:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
char *p, *q, temp;
int len;
printf("请输入字符串:");
scanf("%s", str);
len = strlen(str);
p = str;
q = str + len - 1;
while (p < q)
{
temp = *p;
*p = *q;
*q = temp;
p++;
q--;
}
printf("逆反字符串为:%s\n", str);
return 0;
}
```
注意:该程序可以逆反输入的字符串,但是如果字符串中含有空格等特殊字符,则可能会产生结果不准确的情况。