在讲“函数与程序结构”这一章中,有这样一句话:“如果某个函数从一个地方返回时有返回值,而从另一个地方返回时没有返回值,该函数并不非法,但可能是一种出问题的征兆。”
这句话觉得有些难以理解。
于是写了段测试代码,如下:
#include <stdio.h> int f(int i) { if (1) return; else return 1; } main(void) { int i = -10; printf("%dn", f(i)); } /* * 本程序用gcc编译没有问题, * 运行结果如下: * -10 */ |