gebilaowang6 @ 2022-09-20 16:29:03
代码如下```c
int main() { char input[20]; fgets(input,20,stdin); int lenth=strlen(input); *(input+lenth-1)='\0'; for(;lenth>=0;lenth--) { printf("%c",input[lenth]); } }
by gebilaowang6 @ 2022-09-20 16:29:25
#include<stdio.h>
#include<string.h>
int main()
{
char input[20];
fgets(input,20,stdin);
int lenth=strlen(input);
*(input+lenth-1)='\0';
for(;lenth>=0;lenth--)
{
printf("%c",input[lenth]);
}
}
by Kedit2007 @ 2022-09-20 16:53:53
因为你打印了 '\0'
,本地看不出来,但是实际上输出的东西并不对。
既然已经知道 strlen
求长度,可以直接从长度减一处开始倒序遍历。
同时,如果你使用 C++ 中的 string
,你可以选择使用下面的方式倒序遍历:
string s;
// ...
for (auto i = s.rbegin(); i != s.rend(); i++)
{
cout << *i;
}