jkjkre 2019-03-15 20:22 采纳率: 100%
浏览 724
已采纳

【C语言】将字符串逆序,为什么输出的时候多一个?号

#include <stdio.h>
#include <string.h>
int main(){
    char a[6],b[6];
    int i,j,len;
    gets(a);
    len=strlen(a);
    for(i=0;a[i]!='\0';++i);
    for(j=0;i>=0;i--,j++)
    b[j]=a[i-1];
    b[j]='\0';
    puts(b);

return 0;

输入是abc
输出是cba?
其中【?】哪里来的,为啥会多一个问好

  • 写回答

3条回答 默认 最新

  • ylwanlxm 2019-03-15 22:52
    关注

    我加了}后,用vc运行还不行,我将 for(j=0;i>=0;i--,j++)改成了for(j=0;i>0;i--,j++)就可以了,代码如下,使用vc运行没问题
    #include
    #include
    int main(){
    char a[6],b[6];
    int i,j,len;
    gets(a);
    len=strlen(a);
    for(i=0;a[i]!='\0';++i);
    for(j=0;i>0;i--,j++)
    b[j]=a[i-1];
    b[j]='\0';
    puts(b);

    return 0;
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?