| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 338 人关注过本帖
标题:为什么会这样???
只看楼主 加入收藏
笨猪
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-12-1
收藏
 问题点数:0 回复次数:4 
为什么会这样???
我用Dec C++编译下面两个程序,为什么前者编译不出而后者却编译得出,#include<stdio.h>
void main()
{
     int a,b;
     a=32767;
     b=a+1;
     printf("%d,%d\n,a,b);
     }




#include<stdio.h>
int main()
{
     int a,b;
     a=32767;
     b=a+1;
     printf("%d,%d\n,a,b);
     }
2008-09-07 00:31
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
收藏
得分:0 
前一个是不符合标准的东西

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-09-07 05:35
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
收藏
得分:0 
后一个虽然通过了,但你也没有return 0;,你通过是因为编译器隐式给你加上了

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-09-07 05:36
笨猪
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-12-1
收藏
得分:0 
哦,虽不太明,但还是谢谢啦!
2008-09-07 08:03
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
[bo][un]随心[/un] 在 2008-9-7 05:36 的发言:[/bo]

后一个虽然通过了,但你也没有return 0;,你通过是因为编译器隐式给你加上了


不准确,C++标准会给你加上,而C不会,所以如果你的文件名是*.c,则返回值为12,如果你的文件名是*.cpp或者*.C或者*.cc,则编译器自动为你加上return 0;返回值为0。

[[it] 本帖最后由 StarWing83 于 2008-9-7 08:25 编辑 [/it]]

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-07 08:22
快速回复:为什么会这样???
数据加载中...
 
   



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

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