C语言中关于函数内定义函数的问题
/* 关于函数内定义函数的问题: 此程序在Windows下的Visual C++下编译不能通过, 但是在Linux下的Gcc却能通过 问:如何在在Windows下的Visual C++实现这种函数内部定义函数? 或者使某个特定函数只能被某一个函数调用? */ #include <stdio.h> int main() { void test() { printf("hello world"); } test(); return 0; }
编译器在编译c源代码时,首先会从本文件中查找对应的函数,如果找不到,就从头文件中去查找,如果找不着就报错。 你想在只让特定的函数被特定的函数调用,你就将该函数和特定的函数写在同一个文件中,不再头文件中定义;或者定义在头文件中,只在特定的函数所在的文件中引用该头文件就可以了 gcc对c进行很多扩展,功能很强大,但是不是标准的c;因此会出现这样的情况。为了兼容性,建议尽量少用此类的扩展功能
也可以用namespace来实现: namespace mainfunc { void test() { printf("hello world\n"); } }; int main() { using namespace mainfunc; test(); return 0; } 不用“using namespace mainfunc;”而直接调用test()函数的地方会出错.
答:问题可能是出在中间这一行 printf(“请输入需要访问的磁道总数:“); scanf(“%d“,&n); for(i=0;i<n;i++) 你要显示的数恐怕是...详情>>
答:我建议你去--天下网吧联盟 这里面都是网吧业主和网管交流的论坛,你可以自己注册一个用户进去看看,你可以和他们交流也可以寻求他们的帮助,我想没有你解决不了的问题,...详情>>
答:格式化文本区域的段落标记,用于规定文本和层的属性和位置等。比如: 新浪网 用来规定 新浪网 这三个字居中显示。 文本中心(CENTER)、左(LEFT)或右(R...详情>>