while(1)
{
printf("语句1");
scanf("%d",&数值变量);
……
printf("语句2");
scanf("%c",&ch);
if(ch=='n') break;
}
----------------解决方案--------------------------------------------------------
的确。LS的办法不错哦!
----------------解决方案--------------------------------------------------------
我那个怎么不行,原理一样啊
----------------解决方案--------------------------------------------------------
getch()
----------------解决方案--------------------------------------------------------
加一个getch()解决了,原理就是3楼说的
----------------解决方案--------------------------------------------------------
我那个怎么不行,原理一样啊
下一个输入接收缓冲区的字符(这里应该是个回车符).
----------------解决方案--------------------------------------------------------
我的完全可以
while(1)
{
scanf("%c",&ch);
if(ch=='n'||ch=='N') break; 就是位置要换下.要不底下的会出现2次
printf("语句1");
scanf("%d",&数值变量);
……
printf("语句2");
}
----------------解决方案--------------------------------------------------------
我那个怎么不行,原理一样啊
我问的是和11楼的,不是和走刀口的
----------------解决方案--------------------------------------------------------
思路:用一个字符变量控制循环,由用户输入字符,当字符为"n"时,则结束循环体,否则则执行循环体
while(ch!='n')
{
printf("语句1");
scanf("%d",&数值变量);
……
printf("语句2");
scanf("%c",&ch);
}
我感觉没有错啊,每次循环结果的时候,由用户输入一个字符,然后再按情况执行循环体。但是用Turbo C运行时总是语句2后面连着就出现了下一次循环的语句1,根本就不给用户输入ch的值,自动进入下一次循环。如果在数值变量那个地方输入n也可以退出循环体。郁闷,谁给解释一下
第一句 while(ch!='n') ch 没有值;可能没影响.不过最好先赋;
如果第一次输入N 那么正常退出,如果第一次 不是N 那么.这里语句1本来就是运行了2次,因为在判断之前你已经运行了.
----------------解决方案--------------------------------------------------------