c语言写一个函数inverse (char s),将输入的字符倒序输出
时间: 2024-03-07 21:47:22 浏览: 62
好的,下面是一个实现该功能的 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` 函数获取该字符串的长度,接着从字符串的最后一个字符开始遍历,并逐个输出字符,最终得到倒序输出的结果。
相关问题
c语言编写一个函数 Inverse0,实现将字符数组中的字符串逆序存放的功能。用数组a存放逆序存放前的数组元素,用数组b存放逆序存放后的数组元素。
好的,以下是C语言实现的代码:
```c
void Inverse0(char* str) {
char a[1000], b[1000];
int len = strlen(str);
for (int i = 0; i < len; i++) {
a[i] = str[i];
}
for (int i = 0; i < len; i++) {
b[i] = a[len - i - 1];
}
for (int i = 0; i < len; i++) {
str[i] = b[i];
}
}
```
以上代码中,我们先将原始字符串按照顺序存储到数组a中,然后再将数组a中的元素按照相反的顺序存储到数组b中,最后再将数组b中的元素按照顺序存储回原始字符串中,即可实现字符串逆序存放的功能。
请注意,由于我们使用了数组a和数组b,因此需要定义一个足够大的数组来存储字符串,以上代码中我们定义了大小为1000的数组。如果您的字符串比较长,可能需要调整数组的大小。
c语言编写一个函数 Inverse0,实现将字符数组中的字符串逆序存放的功能。用一个数组实现逆序存放。借助于一个中间变量temp,将数组中首尾对称位置的元素互换。i指向数组首部的元素,从0依次加1变化;j指向数组尾部的元素,从n-1依次减1变化:当变化到问时结束元素互换操作。
好的,可以参考下面的代码实现:
```c
void Inverse0(char str[], int n) {
int i = 0, j = n - 1;
char temp;
while (i < j) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
i++;
j--;
}
}
```
其中,`str` 是待逆序存放的字符数组,`n` 是数组的长度。函数通过一个 `while` 循环,借助中间变量 `temp`,将数组的首尾对称位置的元素互换,最终实现字符串的逆序存放。
需要注意的是,此函数只适用于以 `\0` 结尾的字符串数组,对于非字符串数组可能会出现问题。
阅读全文