[求助]用空格替换制表符空的位置,编译通不过
/*while(有输入字符串){
如果遇到制表符
用空格填充至制表符终止
}
*/
#include <stdio.h>
#define N 8 //制表符的长度8
#define MAXLINE 1000 //数组最大长度
int getline(char line[]);
void cmd(char s[],char d[]);
void pri(char d[]);
main()
{
int len;
char line[MAXLINE],dd[MAXLINE];
while((len=getline(line))>0){
//如果遇到\t的处理
cmd(line,dd);
//打印处理后结果
pri(dd);
}
}
int getline(char s[])
{
int c,i;
for(i=0;i<MAXLINE-1 && (c=getchar()) !=EOF && c!='\n';++i)
s[i]=c;
if(c=='\n'){
s[i]=c;
++i;
}
s[i]='\0';
return i;
}
void cmd(char s[],char d[])
{
int i=0;
int n;
while(s[i]!='\0'){
if(s[i]=='\t'){
for(int j=0;j<N-i%N;++j){
d[i]=' ';
++i;
}
}else
{
d[i]=s[i];
++i;
}
}
d[i]='\0';
}
void pri(char d[])
{
int i=0;
while(d[i]!='\0'){
printf("%s",d[i]);
}
}
错误信息
D:\学习\C\detab.c(44) : error C2143: syntax error : missing ';' before 'type'
D:\学习\C\detab.c(44) : error C2143: syntax error : missing ';' before 'type'
D:\学习\C\detab.c(44) : error C2143: syntax error : missing ')' before 'type'
D:\学习\C\detab.c(44) : error C2143: syntax error : missing ';' before 'type'
D:\学习\C\detab.c(44) : error C2065: 'j' : undeclared identifier
D:\学习\C\detab.c(44) : warning C4552: '<' : operator has no effect; expected operator with side-effect
D:\学习\C\detab.c(44) : error C2059: syntax error : ')'
D:\学习\C\detab.c(44) : error C2143: syntax error : missing ';' before '{'
[ 本帖最后由 wbhhc 于 2010-4-10 13:33 编辑 ]