请问这个为什么会陷入死循环

毕设小屋 毕业设计 1
include<stdio.h>
int main()
{
     char s[101],c;
     int i;

     while(~scanf("%s %c",s,&c));

{

    for(i=0;s[i]!='\0';i++)
{
    if(s[i]==c)
{
        s[i]='\n';
  }
  }
      puts(s);
  }

      return 0;
}

回复

共2条回复 我来回复
  • 毕设工厂
    这个人很懒,什么都没有留下~
    评论
    while(~scanf("%s %c",s,&c));
    

    你这代码不死循环才怪,判断用按位取反我也不知道是干啥, while 后面又紧跟分号,还后面跟着代码块,建议回去重学。 提问是用 md 的,请学习 markdown 重新整一整模板。

    0条评论
  • 源码码头网
    这个人很懒,什么都没有留下~
    评论

    while(~scanf("%s %c",s,&c)); while后面分号去掉,否则后面大括号的代码就不在循环体中,循环体内没东西了,因此死循环

    0条评论

发表回复

登录后才能评论