jkjkre
2019-03-15 20:22
采纳率: 88.9%
浏览 670

【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条)

相关推荐 更多相似问题