所以我有这个小循环,似乎在一次运行中打印出我的文本两次。
所以这是代码:
int main(void){
char cont;
int check = 1;
while(check == 1){
printf("Something");
cont = getchar();
if(cont == 'j')
check = 1;
}
}
现在输出的是:
东西,现在它等待输入 某事,某事等待投入。
第一次打印后,按j键时将打印两次。
为什么?
答案 0 :(得分:7)
你按下' j'和“换行符”,所以你键入两个字符并循环执行两次,然后开始读取下一行。
答案 1 :(得分:1)
这是一个无限循环。总是重新检查你的程序。
也许你想要
if(cont == 'j')
check = 0;
答案 2 :(得分:0)
您的代码卡在循环中,因为您测试check==1
并且检查始终为1
你可以做其他部分
if(cont == 'j')
check = 1;
else
check =0;