我是c语言的新手并且在理解我的错误方面寻求帮助。 我想编写一个程序,计算一行整数和字符中2位数的数量,例如" 21c sdhhj 32 fhddhf234 45"这是3个两位数字。我将终结点设置为循环(scanf%d或EOF失败)并仍然获得无限循环。我明白失败的整数scanf应该在EOF返回0或-1,为什么我得到无限循环?先感谢您! :)
void read(int blue[],int red[],int couple[])
{
int vote=0,rcount=0,bcount=0;
int ok=-2;
while (ok!=EOF)
{
ok=scanf("%d",&vote);
if (ok==0)
continue;
if (vote<TOTAL&&vote>0)
{
rcount=vote%10;
bcount=vote/10;
if (rcount==bcount)
continue;
couple[vote]++;
red[rcount]++;
blue[bcount]++;
}
ok=0;
}
我希望扫描并存储它们,只要它们小于TOTAL(99),直到输入结束。