由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 电话面试题一问 (转载)
相关主题
大侠们救命, C++ operator new 问题我也来个。某公司招初级C程序员的面试题。[转载]
一个古怪的C程序运行错误。a simple question for C++ class
问个g++的问题difference between: char** p and char*p[] ??
问一个defining array 的问题关于C++中一个Class的大小 (转载)
一个C/C++面试题数组定义的时候,分配空间了么?
64BIT 软件开发C++ interdependence question
又一道面试题,我是不是想多了?问个简单的memory allocation 的问题。
[合集] Effecive c++ 真那么好? (转载)ask a simple question about int pointer.
相关话题的讨论汇总
话题: main话题: return话题: c++话题: int话题: 编译
进入Programming版参与讨论
1 (共1页)
z****e
发帖数: 2024
1
【 以下文字转载自 JobHunting 讨论区 】
发信人: eirc (eric), 信区: JobHunting
标 题: 电话面试题一问
发信站: BBS 未名空间站 (Mon May 24 12:09:45 2010, 美东)
1. C++ 里, main(){}的最后一定要加上return 吗?, 比如
int main(){
....
return 0;
}
2. 还有, 一定要 int main()吗? what about double main()?
一下子给搞懵了.
w***g
发帖数: 5958
2
1. 不加return返回值就不确定了。
2. C++要求一定要int ::main,这是C++标准规定的。C语言或者某些非标准的C++编译
器下可能"double main ()"能编译通过,但是因为sizeof(double)一般不等于sizeof(
int),这么做可能会引起程序退出时崩溃。

【在 z****e 的大作中提到】
: 【 以下文字转载自 JobHunting 讨论区 】
: 发信人: eirc (eric), 信区: JobHunting
: 标 题: 电话面试题一问
: 发信站: BBS 未名空间站 (Mon May 24 12:09:45 2010, 美东)
: 1. C++ 里, main(){}的最后一定要加上return 吗?, 比如
: int main(){
: ....
: return 0;
: }
: 2. 还有, 一定要 int main()吗? what about double main()?

X****r
发帖数: 3557
3
main不写return相当于return 0;
3.6.1 Main function [basic.start.main]
5 A return statement in main has the effect of leaving the main function
(destroying any objects with automatic storage duration) and calling
exit with the return value as the argument. If control reaches the
end of main without encountering a return statement, the effect is
that of executing
return 0;

【在 w***g 的大作中提到】
: 1. 不加return返回值就不确定了。
: 2. C++要求一定要int ::main,这是C++标准规定的。C语言或者某些非标准的C++编译
: 器下可能"double main ()"能编译通过,但是因为sizeof(double)一般不等于sizeof(
: int),这么做可能会引起程序退出时崩溃。

w***g
发帖数: 5958
4
原来C++的main是特殊编译的!
试了一下发现真是的。下面一段程序用gcc编译返回值为20,用g++编译返回值为0。太
牛了!
#include
int foo () {
return 20;
}
int main (int argc, char *argv[]) {
foo();
}

【在 X****r 的大作中提到】
: main不写return相当于return 0;
: 3.6.1 Main function [basic.start.main]
: 5 A return statement in main has the effect of leaving the main function
: (destroying any objects with automatic storage duration) and calling
: exit with the return value as the argument. If control reaches the
: end of main without encountering a return statement, the effect is
: that of executing
: return 0;

1 (共1页)
进入Programming版参与讨论
相关主题
ask a simple question about int pointer.一个C/C++面试题
[合集] 求助: socket传递C++ class的问题64BIT 软件开发
a weak c question, how to pass an array into a function?又一道面试题,我是不是想多了?
What is size_t mean in C?[合集] Effecive c++ 真那么好? (转载)
大侠们救命, C++ operator new 问题我也来个。某公司招初级C程序员的面试题。[转载]
一个古怪的C程序运行错误。a simple question for C++ class
问个g++的问题difference between: char** p and char*p[] ??
问一个defining array 的问题关于C++中一个Class的大小 (转载)
相关话题的讨论汇总
话题: main话题: return话题: c++话题: int话题: 编译