一个很基础的返回值问题

想要打印字符串数组,去掉中间的空格和Tab,并且删除全为空的行,哪里有错?谢谢。
#include
#define MAXLINE 1000
int getline(char line[], int maxline);
int copy(char to[],char from[]);
int main(){
int len;
int max;
char line[MAXLINE];

max=0;
while ((len=getline(line,MAXLINE))>0)
printf("%s",line);
return 0;
}

int getline(char s[], int lim)
{
int c,i;

  for (i=0;(c=getchar())!=EOF&&c!='\n';++i)
     { s[i]=c;
       if ((c='\t')||(c='\b'))
         s[i+1]=c;
        }
       /*把c赋s[i]*/
  if(c=='\n'){ /*如果c遇到回车符将c赋给s[i],i自增1*/
      s[i]=c;
      ++i;

  }
  if(s[i]='\0')
     return 0;
  else
  return i; }/*返回i的值*/

4个回答

自己单步调试跟踪一下,这样可以方便查看各个变量以及代码的运行状态

 if(s[i]='\0')
->
if(s[i]=='\0')

EOF 是文件操作的结束符,这里好像没有用到文件操作。

代码中的问题还有很多。自己仔细检查下。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐