#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]); }
收起
首先程序能输出,看你键盘输入的数据了: 外层循环为5, 内层有个while循环,当键盘输入不为2时就继续接受输入,为二时将2的上一个字符赋给c[i]; 就是每当内层while接收键盘输入,每输入一个2就跳出while,执行一次for循环,不为2就一直执行while接收键盘输入。 接收5个2后外层for循环就执行完了。程序结束。
测试数据输入12123242542778792 有5个2,恰好执行程序,多了后面的不执行,少了程序还需接收键盘输入。
报告相同问题?