当我尝试用C语言编译程序时,有些错误。
myfunctions.c:27:2: warning: implicit declaration of function ‘getChar’ [-Wimplicit-function-declaration]
这是第27行:
while(myChar = getChar() && myChar != '')
我在标题中调用它:
#include <stdio.h>
#include <unistd.h>
答案 0 :(得分:10)
拼写为getchar
,而不是getChar
。 C区分大小写,几乎所有标准C函数的名称都是小写的。
至于为什么它不存在时“隐式声明”...在旧版本的C中,如果编译器不知道函数名,则假定它是一个返回{{1的函数的函数}}。这几乎就像你说int
一样。我听说C99不允许这样做,但大多数编译器都不会坚持,除非你告诉他们。
答案 1 :(得分:0)
我不知道为什么,但是GCC编译器(win平台)知道getch()
。但是,如果您打开-pedantic
编译,则会出现此警告。
解决方案:使用getchar()
,一切正常。