当前位置: 代码迷 >> C语言 >> 由朋友提问,想到的一个自定义函数的问题(未解决)
  详细解决方案

由朋友提问,想到的一个自定义函数的问题(未解决)

热度:73   发布时间:2007-04-10 16:45:30.0

据我所知 函数体内不能定义函数
就是说函数不管你在哪里做的声明结果都是一样的

int DimFunction()
{
void PrintWord();
}

int OutFunction()
{
PrintWord();
}

main()
{
OutFunction();
getch();
}

void PrintWord()
{
printf("Money!");
}


但是如果你去掉
int DimFunction()
{
void PrintWord();
}
中的
void PrintWord();
那程序就通不过

我的却记得在什么地方看过函数生命周期的说法
但是现在的这个程序却说明了 PcrazyC 的说法存在一些问题


----------------解决方案--------------------------------------------------------

本来就通不过吧,我用的VC++编译器


----------------解决方案--------------------------------------------------------
我用的是WIN-TC
----------------解决方案--------------------------------------------------------
以下是引用cdmalcl在2007-4-10 16:50:17的发言:
我用的是WIN-TC

简单易用
----------------解决方案--------------------------------------------------------

#include<stdio.h>
void DimFunction()
{
void PrintWord();
}

void OutFunction()
{
PrintWord();
}

void main()
{
OutFunction();
}

void PrintWord()
{
printf("Money!");
}
无法通过

#include<stdio.h>

void PrintWord();
void DimFunction()
{

}

void OutFunction()
{
PrintWord();
}

void main()
{
OutFunction();
}

void PrintWord()
{
printf("Money!");
}

可以通过


----------------解决方案--------------------------------------------------------

我用C-FREE也是如此
也就是说微软C如你所说
宝蓝C如我所说


----------------解决方案--------------------------------------------------------

我用DEV_C++也是和我的一样


----------------解决方案--------------------------------------------------------
那说明还是微软C好啊
可以进行对函数封装
----------------解决方案--------------------------------------------------------


你用的那些编译器都不规范,都是些不用加头文件的
----------------解决方案--------------------------------------------------------
C-FREE是要加的
你可不能冤枉他

但是不加也不是什么罪过啊

----------------解决方案--------------------------------------------------------
  相关解决方案