愷龍 发表于 2020-12-29 08:01:17

为什么输入以后没有输出?

如代码所示,我的想法是让输入的字符逆序输出,但是编译运行以后输入的字符输入以后直接就没有输出了,还请各位帮忙诊断一下问题所在。
https://pic.downk.cc/item/5fea71b33ffa7d37b3a68bfe.jpg
#include <stdio.h>
#include <string.h>
main()
{
        char a;
        scanf("%[^\n]",&a);//除了换行符全部接收
        char b ;
        int c=strlen(a);
        int i;
        int j=0;
        for(i=c;i>=0;i--)
        {
                b=a;
       
        }
        b='\0';
                printf("%c",b);
        return 0;
       
}

一世轻尘 发表于 2020-12-29 09:12:49

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
      char a;
      scanf("%[^\n]",&a);//除了换行符全部接收
      char b ;
      int c=strlen(a);
      int i;
      int j=0;
      for(i=c-1;i>=0;i--)
      {
                b=a;
      
      }
      b='\0';
                for(j=0;j<c;j++)
                printf("%c",b);
      system("pause");
                return 0;
}改成这样就行了,
首先a,没有赋值,你得改成i=c-1,然后输出的时候你少了个for循环,导致输出的是你刚刚赋值的b='\0'

愷龍 发表于 2020-12-29 11:40:01

一世轻尘 发表于 2020-12-29 09:12
改成这样就行了,
首先a,没有赋值,你得改成i=c-1,然后输出的时候你少了个for循环,导致输出的是你刚 ...

谢谢谢谢!非常感谢!

愷龍 发表于 2020-12-29 11:43:01

一世轻尘 发表于 2020-12-29 09:12
改成这样就行了,
首先a,没有赋值,你得改成i=c-1,然后输出的时候你少了个for循环,导致输出的是你刚 ...

自己运行没有问题,但是在C语言网的蓝桥杯ACM训练系统中为什么显示错误https://i1.100024.xyz/i/2020/12/29/iw7kb5.png

一世轻尘 发表于 2020-12-29 14:31:56

愷龍 发表于 2020-12-29 11:43
自己运行没有问题,但是在C语言网的蓝桥杯ACM训练系统中为什么显示错误

擦,这我也不清楚鸭,我在VScode和DEV上都试了,程序是没问题的

愷龍 发表于 2020-12-29 14:47:17

一世轻尘 发表于 2020-12-29 14:31
擦,这我也不清楚鸭,我在VScode和DEV上都试了,程序是没问题的

嗯,可能是网站问题
页: [1]
查看完整版本: 为什么输入以后没有输出?