Nieeee 2016-11-19 11:12 采纳率: 90.5%
浏览 1167
已采纳

请教大神这个程序为什么运行时无输出?

#include< stdio.h>
#include< string.h>
#define q 20
char C[q];
int main()
{ int S;
for ( int i=0;i<=5;i++)
{while((S=getchar())!='2')
C[i]=S;}
for( int i=0;i<=strlen(C);i++)
printf("%c",C[i]);
}

  • 写回答

4条回答 默认 最新

  • niaonao 2016-11-19 12:40
    关注

    首先程序能输出,看你键盘输入的数据了:
    外层循环为5,
    内层有个while循环,当键盘输入不为2时就继续接受输入,为二时将2的上一个字符赋给c[i];
    就是每当内层while接收键盘输入,每输入一个2就跳出while,执行一次for循环,不为2就一直执行while接收键盘输入。
    接收5个2后外层for循环就执行完了。程序结束。

    测试数据输入12123242542778792 有5个2,恰好执行程序,多了后面的不执行,少了程序还需接收键盘输入。
    图片说明

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

报告相同问题?

悬赏问题

  • ¥30 vmware exsi重置后的密码
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题