写出一个函数inverse(char s[]),将输入的字符串倒序输出
时间: 2024-03-25 19:36:16 浏览: 16
好的,下面是函数 `inverse(char s[])` 的实现:
```c
void inverse(char s[]) {
int len = strlen(s);
for (int i = 0; i < len / 2; i++) {
char temp = s[i];
s[i] = s[len - i - 1];
s[len - i - 1] = temp;
}
}
```
这个函数的作用是将输入的字符串 `s` 倒序输出。具体实现方式是从字符串的两端开始,交换对应位置的字符,直到中间位置。
使用方法很简单,只需要在主函数中将需要倒序输出的字符串作为参数传递给该函数即可。比如:
```c
int main() {
char s[] = "hello world";
inverse(s);
printf("%s\n", s); // 输出 "dlrow olleh"
return 0;
}
```
注意,该函数并没有返回值,因为字符串是以指针的形式传递进去的,直接在函数内部修改即可。
相关问题
c语言写一个函数inverse (char s),将输入的字符倒序输出
好的,下面是一个实现该功能的 C 语言函数:
```c
#include <stdio.h>
#include <string.h>
void inverse(char s[])
{
int len = strlen(s);
for (int i = len - 1; i >= 0; i--)
{
printf("%c", s[i]);
}
}
int main()
{
char s[100];
printf("请输入一个字符串:");
scanf("%s", s);
printf("倒序输出为:");
inverse(s);
printf("\n");
return 0;
}
```
该函数接收一个字符串作为参数,然后使用 `strlen` 函数获取该字符串的长度,接着从字符串的最后一个字符开始遍历,并逐个输出字符,最终得到倒序输出的结果。
用字符数组作函数参数编程,利用一个数组实现字符串(允许输入带空格的字符串)的逆序存放。要求如下: (1)在主函数中从键盘输入字符串,字符串的最大长度为80个字符。 调用Inverse()函数将字符串逆序存放,然后在主函数中输出逆序后的字符串。 (2)在子函数Inverse()中实现字符串的逆序存放。函数原型为: void Inverse(char str[]);
好的,以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
void Inverse(char str[]);
int main()
{
char str[81];
printf("请输入字符串(最多80个字符):");
fgets(str, 81, stdin); // 使用fgets函数输入字符串,避免输入带空格的字符串时出现问题
printf("原字符串:%s", str);
Inverse(str);
printf("逆序后的字符串:%s", str);
return 0;
}
void Inverse(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;
}
}
```
在主函数中,先使用`fgets`函数输入字符串,并输出原字符串,然后调用`Inverse`函数将字符串逆序存放,最后输出逆序后的字符串。
在`Inverse`函数中,使用一个循环将字符串的前一半与后一半对应位置上的字符交换,从而实现字符串的逆序存放。