【发布时间】:2019-09-15 14:24:01
【问题描述】:
我收到函数 getline 中类型冲突的错误。我在两个函数声明语句中的变量和函数类型都是一致的,所以不知道是什么问题。
#include <stdio.h>
int getline(char line[]);
int main()
{
char line[100];
int len;
while ((len = getline(line)) > 0)
printf("%d\n", len);
}
int getline(char line[])
{
int i, c;
for (i = 0; (c = getchar())!=EOF && c!='\n'; ++i)
line[i] = c;
if (c == '\n'){
line[i] = c;
++i;
}
line[i] = '\0';
return(i);
}
【问题讨论】:
-
getline()已经是标准库函数了..为什么必须使用相同的名称? -
How to solve a conflicting types error in c?更改类型名称。 -
编译器有没有告诉你函数最初在哪里声明了不同的类型?如果这不是您自己的声明,那么这是一个很好的提示,表明您正在重用现有的标识符并且应该更改名称。
-
@SouravGhosh
getline是一个非标准库函数。 -
@Lundin 对,我已将其添加到我的答案中。