繁体   English   中英

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

[英]While loop printing twice during one loop

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

所以这里是代码:

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

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

现在这个输出是:

某物,现在它等待输入 某物,某物并等待输入。

第一次打印后,当我按 j 时它会打印两次。

这是为什么?

您按“j”和“换行符”,因此您输入了两个字符并在开始阅读下一行之前循环执行两次。

这是一个无限循环。 始终重新检查您的程序。

也许你想要

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

您的代码陷入循环,因为您测试check==1并且 check 始终为 1 您可以制作其他部分

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM