返回信息流☆─────────────────────────────────────☆
wks (cloverprince) 于 (Thu Jun 5 11:23:22 2008) 提到:
我最早编C语言程序的时候是用
main()
{
printf("hello world");
exit(0);
}
后来用
main()
{
printf("hello world");
return 0;
}
然后就是看了很多网上的文章的说教,包括Bjarne叔叔的个人主页,以后,开始坚持使用:
int main()
{
printf("hello world");
return 0;
}
而且见人就鼓吹int main()加return 0;
但是国内外很多教材都在使用void main() {}
包括Linux内核源代码,还有MSDN里的例子
而Kernighan大牛的C programming language书里,第一个例子是
main() {
printf("hello world");
}
然后我就真的心里发毛了。连C programming language都用main(),那么,那个int main()到底是怎么回事?是谁定的标准?
可以理解,在Unix中,这个返回值会返回给操作系统进行其它处理,比如交给shell判断程序执行是否成功。
还有java语言里的
public static void main(String[] args)
这被SUN规定成标准的用法。那么Java程序在Unix里面运行,就没有返回值了吗?
☆─────────────────────────────────────☆
NWN2 (Neverwinter Nights 2) 于 (Thu Jun 5 11:29:51 2008) 提到:
C有两个规范
ANSI C
main() {
// return 0; 可选
}
int main() {
return 0;
}
void main() {
}
==============
ISO C
int main() {
return 0;
}
void main() {
}
===============
至于C++的int main(),那是C++的ISO规范,C++也只有ISO规范
☆─────────────────────────────────────☆
ttplayer (红颜弹指老 刹那芳华) 于 (Thu Jun 5 11:39:03 2008) 提到:
K&R C 函数返回值不声明默认为int你就不会发毛了
☆─────────────────────────────────────☆
Xer (SL小分队|小x|benogy) 于 (Thu Jun 5 11:45:47 2008) 提到:
int main()是C++标准,C89没有规定main函数返回值,如果不写的话默认返回int,C99才规定写个int,TCPL出的比C89早...至于Linux代码,没看过。。。
每个程序运行应该都有返回值表示状态,这个应该是由操作系统决定的,不是说程序员没写返回值就没返回值,可以写个小程序测试一下。
写个void就不应该了,还不如写个int字母更少,不写也比写个void强。。。。。。
【 在 wks (cloverprince) 的大作中提到: 】
: 我最早编C语言程序的时候是用
: main()
: {
: ...................
☆─────────────────────────────────────☆
hellfire01 (新人) 于 (Thu Jun 5 13:48:16 2008) 提到:
【 在 Xer 的大作中提到: 】
: int main()是C++标准,C89没有规定main函数返回值,如果不写的话默认返回int,C99才规定写个int,TCPL出的比C89早...至于Linux代码,没看过。。。
: 每个程序运行应该都有返回值表示状态,这个应该是由操作系统决定的,不是说程序员没写返回值就没返回值,可以写个小程序测试一下。
: 写个void就不应该了,还不如写个int字母更少,不写也比写个void强。。。。。。
=.=
还有return xxx.
☆─────────────────────────────────────☆
PtwCJ (鲜的每日C|头像不是我,我是长毛贼~~) 于 (Thu Jun 5 17:06:46 2008) 提到:
真追求细节的话,C应该是
int main(void)或者int main(int argc, char *argv[])
因为C的参数列表空的话不会默认为没有参数,所以要显式的告诉编译器
唉,这些东西也不知道有没有用
☆─────────────────────────────────────☆
UnitTest (TDD) 于 (Thu Jun 5 17:58:04 2008) 提到:
【 在 PtwCJ 的大作中提到: 】
: 唉,这些东西也不知道有没有用
为什么你回帖里面总喜欢带上"唉"这个词呢,我觉得就应该是“哈哈”之类的才对
☆─────────────────────────────────────☆
PtwCJ (鲜的每日C|头像不是我,我是长毛贼~~) 于 (Thu Jun 5 18:09:53 2008) 提到:
瓦擦~~我都没有注意到阿
牛人太多,压力比较大,呵呵。前阵子更郁闷,调整了几天,没想到又不行了
谢谢提醒阿,我继续调整
【 在 UnitTest 的大作中提到: 】
: 为什么你回帖里面总喜欢带上"唉"这个词呢,我觉得就应该是“哈哈”之类的才对
☆─────────────────────────────────────☆
loveSEC (bupt|popkart|小土鸡炖蘑菇) 于 (Thu Jun 5 19:44:28 2008) 提到:
【 在 wks 的大作中提到: 】
: 我最早编C语言程序的时候是用
: main()
: {
: ...................
恩 受教了~囧~
☆─────────────────────────────────────☆
SturdyEagle (计忆邮心|眉鹰LoveIBM) 于 (Thu Jun 5 20:07:51 2008) 提到:
喜欢这句话 哈哈
【 在 UnitTest 的大作中提到: 】
: 为什么你回帖里面总喜欢带上"唉"这个词呢,我觉得就应该是“哈哈”之类的才对
☆─────────────────────────────────────☆
mayao11 (卡马克的fans) 于 (Thu Jun 5 21:36:32 2008) 提到:
标准是必要的,但是不用太追究……
用void main()死不了
☆─────────────────────────────────────☆
ttfish (望乡) 于 (Thu Jun 5 22:20:49 2008) 提到:
还是习惯用int main
☆─────────────────────────────────────☆
BoyFisher (男孩之垂釣者|小龍快跑|八卦幫之火龍封印) 于 (Thu Jun 5 23:19:01 2008) 提到:
这个对
我一般都用
int main(void)
【 在 PtwCJ (鲜的每日C|头像不是我,我是长毛贼~~) 的大作中提到: 】
: 真追求细节的话,C应该是
: int main(void)或者int main(int argc, char *argv[])
: 因为C的参数列表空的话不会默认为没有参数,所以要显式的告诉编译器
: ...................
☆─────────────────────────────────────☆
zhbconan (理小职业杀|SL小分队|苦力甲) 于 (Thu Jun 5 23:26:05 2008) 提到:
dev c++里貌似void main()编译通不过~~~
【 在 mayao11 的大作中提到: 】
: 标准是必要的,但是不用太追究……
: 用void main()死不了
☆─────────────────────────────────────☆
Goldfather (Mike|godfather) 于 (Thu Jun 5 23:26:49 2008) 提到:
不是ms,是肯定编译不过
【 在 zhbconan (理小职业杀|SL小分队|苦力甲) 的大作中提到: 】
: dev c++里貌似void main()编译通不过~~~
☆─────────────────────────────────────☆
yegle (一阁|博学之人|奇峰怪石,秀山丽水) 于 (Thu Jun 5 23:28:33 2008) 提到:
dev c++调用的是gcc,不支持这个形式的程序
同样的还有需要在程序最后加上一个空行,不然也会报错
【 在 zhbconan (理小职业杀|SL小分队|苦力甲) 的大作中提到: 】
: dev c++里貌似void main()编译通不过~~~
☆─────────────────────────────────────☆
BoyFisher (男孩之垂釣者|小龍快跑|八卦幫之火龍封印) 于 (Thu Jun 5 23:29:11 2008) 提到:
应该是警告
而不是错误吧
【 在 yegle (一阁|博学之人|奇峰怪石,秀山丽水) 的大作中提到: 】
: dev c++调用的是gcc,不支持这个形式的程序
: 同样的还有需要在程序最后加上一个空行,不然也会报错
☆─────────────────────────────────────☆
Goldfather (Mike|godfather) 于 (Thu Jun 5 23:31:04 2008) 提到:
这个dev c在保存的时候会自动加的。。。
【 在 yegle (一阁|博学之人|奇峰怪石,秀山丽水) 的大作中提到: 】
: dev c++调用的是gcc,不支持这个形式的程序
: 同样的还有需要在程序最后加上一个空行,不然也会报错
☆─────────────────────────────────────☆
yegle (一阁|博学之人|奇峰怪石,秀山丽水) 于 (Thu Jun 5 23:31:38 2008) 提到:
记不清了,现在用gcc 4.2.4没这个提示信息了
【 在 BoyFisher (男孩之垂釣者|小龍快跑|八卦幫之火龍封印) 的大作中提到: 】
: 应该是警告
: 而不是错误吧
☆─────────────────────────────────────☆
SDI (SDI) 于 (Thu Jun 5 23:33:03 2008) 提到:
推荐打开-Wall
【 在 yegle (一阁|博学之人|奇峰怪石,秀山丽水) 的大作中提到: 】
: 记不清了,现在用gcc 4.2.4没这个提示信息了
☆─────────────────────────────────────☆
SDI (SDI) 于 (Thu Jun 5 23:34:56 2008) 提到:
我猜声明这个只对编译时有用,运行时这些参数还是被弄出来的,只不过不能显式引用。
【 在 BoyFisher (男孩之垂釣者|小龍快跑|八卦幫之火龍封印) 的大作中提到: 】
: 这个对
: 我一般都用
: int main(void)
: ...................
这是一条镜像帖。来源:北邮人论坛 / cpp / #16472同步于 2008/11/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[合集] 关于这个void main
Xer
2008/11/22镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。