标题:main 函数为空为何还能输出呢?
只看楼主
xiayizhanzyf
Rank: 2
等 级:论坛游民
帖 子:80
专家分:78
注 册:2010-7-21
结帖率:84.62%
已结贴  问题点数:20 回复次数:4 
main 函数为空为何还能输出呢?
#include "stdio.h"

int f(),g=f();
void main()
{
}
int f()
{
    printf("hello world!\n");
    return 0;
}
搜索更多相关主题的帖子: return hello 
2011-04-14 21:46
boxinchao
Rank: 4
等 级:业余侠客
帖 子:51
专家分:231
注 册:2011-4-13
得分:5 
这个请高人出来解答一下
2011-04-14 22:06
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
得分:5 
int f(),g=f(); 这行编译不过。
4.c:3: error: initializer element is not constant

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-14 22:19
默默学习
Rank: 4
等 级:业余侠客
帖 子:134
专家分:200
注 册:2010-6-22
得分:5 
#include "stdio.h"

int f(),g=f();//这一句编译出错.
void main()
{
}
int f()
{
    printf("hello world!\n");
    return 0;
}
/*
    把错误的那句注释掉,也只是空输出.因为没有调用子函数.
*/

#include "stdio.h"
int f();
void main()
{
    int g;
    g=f();
}
int f()
{
    printf("hello world!\n");
    return 0;
}
//这样才能输出,其实我也不是很懂你的意思,这样行不行?
2011-04-14 22:32
xiayizhanzyf
Rank: 2
等 级:论坛游民
帖 子:80
专家分:78
注 册:2010-7-21
得分:0 
在VC++6.0 下编译的,是可以通过的,而且可以运行
在这里,这个g是一个全局变量,所以在main()函数前就已经分配内存了,且给出了初始值
2011-04-15 08:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-336713-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017897 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved