【发布时间】:2015-01-06 01:01:13
【问题描述】:
此程序中的循环意外未能终止。当我使用输入 t=4 和 s="qi" 进行测试时,程序运行时打印的 t 值是 0 而不是预期值 4。出了什么问题?
#include<stdio.h>
int main()
{
int t,flag=0;
char s[2];
scanf("%d ",&t);
while(t)
{
scanf("%s",s);
if(s[1]=='i')
{
if(flag==0)
flag=1;
else
flag=0;
}
else if(s[1]=='b')
{
}
else if(s[1]=='r')
{
}
printf("%d\n",t);
t=t-1;
}
}
【问题讨论】:
-
@user1336087: else 没必要
-
@OliverCharlesworth 同意,已将其删除。正如我所说,生锈:)
标签: c while-loop scanf infinite-loop