| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1100 人关注过本帖
标题:又讨论int main() 自己试验了一下 发现 貌似VC2008里面void main()相当于返 ...
取消只看楼主 加入收藏
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
结帖率:100%
收藏
 问题点数:0 回复次数:2 
又讨论int main() 自己试验了一下 发现 貌似VC2008里面void main()相当于返回值总是0 gcc里void main()是不设置返回值
rt

VC是release gcc是-O2

不设置返回值就是这个样子

 ./a.exe ;echo $?
我用int哦
打一个数-1
11

程序代码:
#include <stdio.h>

void main(void)
{
    int i = 0;
    printf("我用int哦\n");
    printf("打一个数%d\n", i = -1);
}



最后一个语句是函数调用 那么 返回值就是这个函数的返回值 运算的话应该也类似 然后 gcc就让这个返回值作为程序的返回值了

程序代码:
#include <stdio.h>

void main(void)
{
    int i = 5;
    int j = 10;
    i = i * j;
}



如果是这样的代码 不开优化(优化一开这些都变成垃圾代码被优化没了。。) 效果如下

 ./a.exe ;echo $?
50

以上的是bash打返回值的玩意 不过这个测试是完全在windows下进行的。。


[ 本帖最后由 zklhp 于 2012-8-9 13:59 编辑 ]
搜索更多相关主题的帖子: void release 
2012-08-09 13:39
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
void就是说 函数不返回返回值 所以叫无返回值 那么 gcc不设置 是正常的
2012-08-09 13:55
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
error是错误 warning是警告 就好像 吸烟有害健康 一样 你听 就是错误 不听 就是耳旁风
2012-08-09 14:58
快速回复:又讨论int main() 自己试验了一下 发现 貌似VC2008里面void main()相当 ...
数据加载中...
 
   



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

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