为啥在C语言中,“scanf”竟然可以作为自定义函数的函数名而不报错??
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥在C语言中,“scanf”竟然可以作为自定义函数的函数名而不报错??相关的知识,希望对你有一定的参考价值。
参考技术A 问一下使用的是什么编译软件如果是VC++ 那么完全正常!!
因为支持C++特性。
你那样写,虽然与库函数的scanf函数名字一样,但是所带的参数不一样
所以等于是重载函数。 不知道LZ懂不懂C++,懂不懂重载函数。本回答被提问者采纳 参考技术B 你没有使用
#include <stdio.h>
这样使用包含该函数的头文件
scanf,不是关键字。所以可以为自定义函数的函数名追问
#include
#include
int scanf()
printf("scanf竟然可以做标识符?!");
main()
scanf();
system("pause");
C语言中函数为啥可以嵌套定义 ?
取决于编译器.
我在Ubuntu16.04 用默认gcc,在eclipse中测试可以实现嵌套定义.
经测试在函数中定义的函数,在当前作用域可以被调用.
这样一来,c语言貌似具有了一些面向对象的特性,使用起来比较方便
参考技术A C语言中函数的定义都是相互平行、相互独立的,也就是说在函数定义时,函数体内不能包含另一个函数的定义,即函数不能嵌套定义,但可以嵌套调用。嵌套调用就是某个函数调用另外一个函数(即函数嵌套允许在一个函数中调用另外一个函数)。 参考技术B 函数都是平行的,不可以嵌套定义,可以嵌套调用。 参考技术C C语言不支持函数嵌套定义的,你搞错了吧?本回答被提问者采纳以上是关于为啥在C语言中,“scanf”竟然可以作为自定义函数的函数名而不报错??的主要内容,如果未能解决你的问题,请参考以下文章