循环不会中断。 C程序

时间:2015-03-06 05:46:43

标签: c

#include <stdio.h>
int main()
{
        char puzzle[100];
        int i;
        int k=0; 


        for(i=0; i<100; i++)
        {
                if(k==1)
                {
                        if(getchar()=='\n')
                                break;
                        else
                                k=0;
                }
                scanf(" %c",&puzzle[i]);

                if(getchar()=='\n')
                        k=1;
          }
}

当输入2个换行符时,该代码应该打破循环但是它并不总是打破循环。

1 个答案:

答案 0 :(得分:0)

break语句不会破坏if子句,它会分解最近的循环(for,while)或switch子句。我猜你期待它打破if条件。

所以在你输入两个'\ n'的代码中,它会从for循环中出来并继续执行并存在于程序中。