【发布时间】:2012-05-07 11:37:59
【问题描述】:
这是我要编译的程序
#include<stdio.h>
int main()
{
int i = 0;
rec(i);
}
int rec(int i)
{
i = i + 1;
if (i == 10){return true;}
rec(i);
printf("i: %d\n", i);
}
我得到这个输出
$ gcc -o one one.c
one.c: In function ‘rec’:
one.c:10:24: error: ‘true’ undeclared (first use in this function)
one.c:10:24: note: each undeclared identifier is reported only once for each function it appears in
据我所知,布尔真值在 c 中计算为 1。如果是这样,为什么我会收到错误消息?
【问题讨论】:
-
true和false是 C++。 C 没有它们。 -
……除非你
#include <stdbool.h>。 -
请注意,您在
rec末尾缺少一个返回语句 -
@BinyaminSharet 当我将
true更改为1时,它可以正常工作 -
仍然是声明为返回 int 的函数应该在任何执行路径中返回一个 int(main 除外)
标签: c