我想知道为什么下面的代码在编译过程中不会抛出错误?:
#include <stdio.h>
char * func (char *);
int main()
{
func("TINFO");
func("INFO");
}
char * func(char * str)
{
if (str[0] == 'T')
return str + 1;
}
您会看到函数的返回路径不返回char *
不过,类似的 Java 代码会引发编译时错误。
使用的编译器:
gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3