C语言编写一函数,将一字符串中所有字符按反序存放并输出。
时间: 2024-02-09 10:07:48 浏览: 25
可以使用指针来实现字符串的反转存储。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int len = strlen(str);
char *p = str, *q = str + len - 1;
while (p < q) {
char temp = *p;
*p = *q;
*q = temp;
p++;
q--;
}
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
reverse(str);
printf("反转后的字符串为:%s\n", str);
return 0;
}
```
该程序中的 `reverse` 函数接受一个指向字符串的指针,利用两个指针 `p` 和 `q` 分别指向字符串的首尾,通过交换两个指针所指向的字符来实现字符串的反转。主函数中通过调用 `reverse` 函数来实现字符串的反转和输出。
相关问题
c语言编写一个函数 将主函数中输入的字符串反序存放
好的,我可以为您编写一个反转字符串的函数。以下是代码示例:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char *str) {
int len = strlen(str);
int i, j;
char temp;
for (i = 0, j = len - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverseString(str);
printf("反转后的字符串为:%s\n", str);
return 0;
}
```
在这个函数中,我们使用了 `strlen()` 函数来获取输入字符串的长度,然后使用两个指针 `i` 和 `j` 来指向字符串的首尾字符。在循环中,我们交换了这两个指针所指向的字符,直到指针相遇。最后输出反转后的字符串即可。
希望这个代码示例能够帮助到您。如果您有任何其他问题,请随时问我。
c语言,编写函数f,将字符串反序存放,在主函数中输入一个字符串,最后输出反序的字符串
好的,我可以为您编写一个C语言程序实现这个功能。程序如下:
```c
#include <stdio.h>
#include <string.h>
void f(char str[]);
int main() {
char str[100];
printf("请输入一个字符串:\n");
gets(str);
f(str);
printf("反序后的字符串为:%s\n", str);
return 0;
}
void f(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;
}
}
```
运行程序后,您可以输入一个字符串,程序会将这个字符串反序存放,并输出反序后的字符串。注意:由于使用了`gets`函数,输入字符串时要注意输入的长度不能超过99个字符。如果使用`scanf`函数输入字符串,需要使用`%s`格式化字符串,并且要注意空格和换行符的处理。