d肯定是错误的,C语言的函数不能嵌套定义,而d指的就是嵌套定义。但在函数体中可以对其他函数进行声明。楼上的把定义和声明搞混了。C语言是以文件为单位进行编译的,所以A错。main函数不要求一定要放在程序的开始位置,所以B错。最后只剩下C,所以答案是C。
D,