eeeeeeeaeeeeeeeeeeee 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 优质创作者: Java技术领域 2016-11-19 12:40
    关注

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

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

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

报告相同问题?