小编dj1*_*dj1的帖子

为什么这个for循环无限运行?

我正在尝试一个问题,在那里我必须为以b结尾的字符串写"Accept".我在使用这部分代码时遇到问题:

char s[100];
int length,i=0;
gets(s);
length=strlen(s);
for( i=0; i<length; i+2)
{
  if(s[i]=='b' && s[i+1]=='\0')
      printf("Accept");
  else printf("Not accept");
}
Run Code Online (Sandbox Code Playgroud)

但这个循环无限运行.当我使用它时,同样的问题得到了解决:

while(s[i]!='\0')
{ 
   if(s[i]=='b' && s[i+1]=='\0')
      printf("Accept");
   else printf("Not accept");
   i+2;
}
Run Code Online (Sandbox Code Playgroud)

我知道for循环的逻辑存在问题,并且已经尝试了很多来解决它,但是失败了.我是编程的新手.请你帮我解决这个问题.

c for-loop infinite-loop

-3
推荐指数
1
解决办法
103
查看次数

标签 统计

c ×1

for-loop ×1

infinite-loop ×1