编译错误求原因
c吧
全部回复
仅看楼主
level 2
f43310 楼主
#include <stdio.h>
#define MAXLINE 1000 /* 行的最大字符数 */
int getline(void);
void copy (void);
/* 打印最长的行 */
int main(){
int len;
extern int max;
extern char maxl[];
max = 0;
while ((len = getline()) > 0){
if (len > max){
max = len;
copy();
}
}
if (max > 0)
printf("%s\n", maxl);
return 0;
}
int getline(void){
int i, c;
extern char line[];
for (i = 0; i <= MAXLINE-1 && (c = getchar())!=EOF && c != *\n*; ++i)
line[i] = c;
if (c == *\n*){
line[i] = *\n*;
++i;
}
line[i] = *\0*;
return i;
}
void copy(void){
int i;
extern char line[], maxl[];
i = 0;
while((maxl[i] = line[i]) != *\0*){
++i;
}
}
2014年08月06日 13点08分 1
level 2
f43310 楼主
这个用了全局变量!exten 声明的变量出错不知道是什么原因!照着书上的例子一个字一个字敲的!
2014年08月06日 13点08分 2
level 2
可能是内存的问题 ,这就要看你之前其他源文件是怎么样声明变量的
2014年08月07日 13点08分 3
level 2
f43310 楼主
哦,己经解决了,是声明了,没有定义!
2014年08月08日 00点08分 4
1