c语言 将一个输入的字符串的内容颠倒后输出

不是c++
2025-02-26 11:23:05
推荐回答(5个)
回答1:

可以直接使用库函数strrev(), 需要包含头文件string.h

#include 
#include 

int main()
{
    char buf[1024];
    scanf("%s", buf);
    strrev(buf);
    printf("%s\n", buf);
    return 0;
}

strrev不是C语言的函数,自己用指针来实现也非常简单。

char *_strrev(char *str)

{

char *f = str, *l = str + strlen(str), ch;

while(f

return str;

}

wchar_t *_wcsrev(wchar_t *wcs)

{

wchar_t *f = wcs, *l = wcs + wcslen(wcs), ch;

while(f

return wcs;

}

对于多字符的汉字的调换次序,要想得到正确的结果,必须先将多字符转换为宽字符,调换次序后再转化为多字符。

回答2:

string.h里面有现成的库strrev()

回答3:

void main()
{
char s[100];
gets(s);
int i, len = strlen(s);
for(i = len - 1; i >= 0; i--) printf("%c", s[i]);
}

回答4:

void main()
{
char a[10];
char *i;
scanf("%s",a);
for(i=a[9];i!=a[0];i--)
{
printf("%c ",*i);
}
}

回答5:

#include "string.h"
void main()
{
char s[100];
gets(s);
int i, len = strlen(s);
for(i = len - 1; i >= 0; i--) printf("%c", s[i]);
}