想要打印字符串数组,去掉中间的空格和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的值*/
自己单步调试跟踪一下,这样可以方便查看各个变量以及代码的运行状态
if(s[i]='\0')
->
if(s[i]=='\0')
EOF 是文件操作的结束符,这里好像没有用到文件操作。
代码中的问题还有很多。自己仔细检查下。