在一个循环中循环打印两次

时间:2014-04-02 14:01:35

标签: c

所以我有这个小循环,似乎在一次运行中打印出我的文本两次。

所以这是代码:

int main(void){
 char cont;
 int check = 1;

 while(check == 1){
  printf("Something");
  cont = getchar();
  if(cont == 'j')
   check = 1;
  }
}

现在输出的是:

东西,现在它等待输入 某事,某事等待投入。

第一次打印后,按j键时将打印两次。

为什么?

3 个答案:

答案 0 :(得分:7)

你按下' j'和“换行符”,所以你键入两个字符并循环执行两次,然后开始读取下一行。

答案 1 :(得分:1)

这是一个无限循环。总是重新检查你的程序。

也许你想要

if(cont == 'j')
    check = 0;

答案 2 :(得分:0)

您的代码卡在循环中,因为您测试check==1并且检查始终为1 你可以做其他部分

if(cont == 'j')
   check = 1;
else 
   check =0;