注册 登录
编程论坛 C++教室

看看那里有错,为什么老是有这个 e:\12346\000.c(28) : error C2059: syntax error : 'while'

ccc语言448 发布于 2014-07-30 17:05, 432 次点击
#include<stdio.h>
#include<conio.h>
 void fun(char *a)
 {
     char b[81];
     int i=0,j=0;
     while(a[i])

         if(a[i]=='*')
     {
         b[j]=a[i];
         j++;
         i++;
     }
     else i++;
     while(a[i])
         if(a[i]!='*')
         {
             b[j]=a[i];
             j++;
             i++;
         }
         else i++;
         b[j]='\0';
         j=0;
         i=0;
 }
 while(b[j])
 {
     a[i]=b[j];
     i++;
     j++;
     a[i]='\0';
 }
 main()
 {
     char s[81];
     printf("Enter a string:\n");
     gets(s);
     fun(s);
     printf("The string after delete:\n");puts(s);
 }
2 回复
#2
zklhp2014-07-30 17:52
你发了两贴 而且这是C语言 不应该发这里

while(b[j])
{
     a[i]=b[j];
     i++;
     j++;
     a[i]='\0';
}

你这段已经在函数定义的外面了 所以会出错
#3
stop12042014-08-05 07:43
#include<stdio.h>
#include<conio.h>
void fun(char *a)
{
     char b[81];
     int i=0,j=0;
     while(a[i])

         if(a[i]=='*')
     {
         b[j]=a[i];
         j++;
         i++;
     }
     else i++;
     while(a[i])
         if(a[i]!='*')
         {
             b[j]=a[i];
             j++;
             i++;
         }
         else i++;
         b[j]='\0';
         j=0;
         i=0;
    while(b[j])
    {
     a[i]=b[j];
     i++;
     j++;
     a[i]='\0';
    }
}

main()
{
     char s[81];
     printf("Enter a string:\n");
     gets(s);
     fun(s);
     printf("The string after delete:\n");puts(s);
}

这样即可
1