GCC C编译器警告“警告:控制到达...”
这个问题在这里已经有了答案:
你的主函数不会显式地返回任何东西。 只是一个return 0;
最后,你应该可以:
int main()
{
char s1[] = "abcd";
char s2[] = "zzzz";
contract(s1,s2);
return 0; /* Here! */
}
-ansi
选项切换到ISO C90标准。 那时, main
函数必须返回一些东西。 自C99以来,可以省略return语句。
当使用-ansi
(= C89)时,如果你不返回任何东西 - 你定义了一个非void的返回类型(int),那么你不会得到返回0的默认行为,现在你只需返回一些东西。