C语言:可以在一个函数中定义另一个函数为什么不对?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/21 13:47:43
C语言:可以在一个函数中定义另一个函数为什么不对?
这个问题简单的回答是c语言规定了不能这样.c语言是计算机的一门语言,也有其特定的语法,就像英语那样,不合语法规定的我们就认为是错误的或不地道的或有歧义的.但计算机只有正确(1)与错误(0),没得选了.
至于为什么当初制定语法时这样规定了(好像是先有实践,后有理论的哦,我认为可以从下面的几点看:
1.从c/c++编译器编译方式来看.编译器编译的方式是逐条往下编译的.要是一个函数中又定义一个函数,则编译器很容易搞混,分不清到底那一句是函数1的那一句是函数2的,就很有可能上面一句是函数1的,下一句就直接跳到函数2的,跳来跳去的,也只有人能认清,计算机没有像人那样的跳跃思维.所以,语法就这样规定了,这样就可以避免很多的混乱和错误.
2.从审美的角度来看.其实不用我多说,你一看到一个函数里又定义另一个函数时,你就觉得很乱了.尤其是当代码写得很长很长是,更弱爆了!
3.从使用,管理方便角度看.这样规定了,可以使编程模块化,就是不用等前面的写完,后面的才能写.它可以同时进行n个模块(模块可以简单的认为是一个或多个的函数),方便且提高效率啊.
至于为什么当初制定语法时这样规定了(好像是先有实践,后有理论的哦,我认为可以从下面的几点看:
1.从c/c++编译器编译方式来看.编译器编译的方式是逐条往下编译的.要是一个函数中又定义一个函数,则编译器很容易搞混,分不清到底那一句是函数1的那一句是函数2的,就很有可能上面一句是函数1的,下一句就直接跳到函数2的,跳来跳去的,也只有人能认清,计算机没有像人那样的跳跃思维.所以,语法就这样规定了,这样就可以避免很多的混乱和错误.
2.从审美的角度来看.其实不用我多说,你一看到一个函数里又定义另一个函数时,你就觉得很乱了.尤其是当代码写得很长很长是,更弱爆了!
3.从使用,管理方便角度看.这样规定了,可以使编程模块化,就是不用等前面的写完,后面的才能写.它可以同时进行n个模块(模块可以简单的认为是一个或多个的函数),方便且提高效率啊.
C语言:可以在一个函数中定义另一个函数为什么不对?
在一个由主函数和其他函数构成的程序中,哪种说法不对?A.函数不能嵌套定义 B.其他函数可以相互调用 C.
以下叙述中正确的是( )A构成C程序的基本单位是函数 B 可以在一个函数中定义另一个函数C main ()
C语言中,我想在一个函数里用另一个函数的变量怎么办?
在C语言中,在一个子函数中定义的static型变量可以应用在其他函数中么?
可以在一个函数中定义另一个函数 是错误的 但main函数不是一个反例吗
在C语言中先定义了一个函数,然后再定义了一个函数,在后定义的函数体中调用了先定义的函数,但是没有定义变量利用函数对定义的
在C语言中,如何将一个函数的变量传到另一个函数中同时该变量在传入函数中变化时原函数也跟着变.
在C程序的函数中不能定义另一个函数,为什么啊,请大神用通俗与演讲明白点
C语言中什么使一个函数可以定义成对许多不同数据类型完成同一个任务
以下叙述中正确的是().A、可以在一个函数中定义另一个函数 B、main()函数必须放在其它函数之前
C语言中,函数使用前已定义,也就是函数定义在调用函数语句之前,那这种情况可以不进行函数原型声明吗?