for(i=0;a[i]!='\0';i++) i--;这里不是死循环了吗,应该在for后面加;吧改成这样:for(i=0;a[i]!='\0';i++); i--;
void fun( char *a ){ int i; for(i=0;a[i]!='\0';i++); i--; for(;a[i]=='*';i--) a[i]='\0';}