Li-xy 2021-12-16 23:37 采纳率: 97.3%
浏览 34
已结题

我想知道我的while 循环为什么跳不出,我已经用了字符串结束标志'/0'啊

#include<stdio.h>
#include<string.h>
int main()
{
char ch[50];
int i=1,b,c=0;
gets(ch);
b=strlen(ch);
if(ch[0]>='a'&&ch[0]<='z'||ch[0]>='A'&&ch[0]<='Z'||ch[0]=='_'){
while(ch[i]=getchar(),ch[i]!='\0'){

if(ch[i]>='a'&&ch[i]<='z'||ch[i]>='A'&&ch[i]<='Z'||ch[i]=='_'||ch[i]>='0'&&ch[i]<='9')
c++;
i++;

    }
      if(c==b-1)
      printf("yes");
      else
      printf("no");
  }
    else
     printf("no");

return 0;

}

  • 写回答

2条回答 默认 最新

  • fuill 2021-12-17 00:09
    关注

    while后面的括号里应该把逗号改成且(&&)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月25日
  • 已采纳回答 12月17日
  • 创建了问题 12月16日