问答详情
源自:6-12 综合练习

求高手帮着看一下,为什么结果出现两个一抹一样的字符串

#include <stdio.h>
void fun ( char *a )
{
    int i=0,k;
    while(a[i]=='*') i++;
    k=i;
    while(a[i]!='\0')
    {
        if(a[i]!='*');
           a[k++]=a[i];
          
        i++;
    }
    a[k]='\0';
}
int main()
{
  char s[81]="****A*BC*DEF*G*********",*t;
  printf("The original string:\n");
  puts(s);
  fun( s );
  printf("The string after deleted:\n");
  puts(s);
 
}

提问者:慕慕3371412 2018-08-15 16:44

个回答

  • 皮宝宝
    2018-08-16 00:48:02
    已采纳

    https://img4.mukewang.com/5b7458c60001b90e03060027.jpg,*t删掉。https://img2.mukewang.com/5b7458dd0001663101100028.jpg分号去掉。主函数main后写个return 0;(这个无所谓)   主要是你if后面加了分号的问题。我也是小白,只能看这么多能纠正的了。