开发者社区> 长征4号> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

据说是月薪2W的笔试题

简介:
+关注继续查看

话说,有这样一道据说是月薪2W的笔试题:

#include "stdio.h"
void print()
{
*
}
void main()
{
}

        要求在*部分写代码使整个程序运行后输出“hello world”,有些人说,这还不简单啊,于是写出这样的代码:

01.#include "stdio.h"
02.void print()
03.{
04.    printf("hello world");
05.}
06.void main()
07.{
08.    print();
09.}

        这样写的确是没问题,但是违背了题目的要求,因为题目不允许修改main函数,这下仿佛我们就没辙了,因为我们学习C/C++语言的时候,明确说明main函数是程序的主函数,也是程序的入口函数,可是现在主函数为空,那怎么会执行子函数呢?

        其实这个笔试题考察的不是我们对基本知识的理解,而是要学会发现问题解决问题的能力,有时候,当一条路走不通的时候,我们就要换一条路,通过查找资料,我们发现其实C++是可以修改入口函数的。

        这里需要一个C++预编译标识符 #pragma comment()   来帮助我们搞定这个问题。他的使用类型是:pragma comment( comment-type ,["commentstring"] )。

        comment-type是一个预定义的标识符,指定注释的类型,应该是compiler,exestr,lib,linker之一。

        commentstring是一个提供为comment-type提供附加信息的字符串。

        这里我们需要使用linker来修改链接设置:

#pragma comment(linker, "/entry:print")

        看到了么?通过/entry参数来设置程序链接时候的主函数为print,这样,就相当于print函数是整个程序的主函数,他替换了main函数的作用,相反的,main函数则成为了一个子函数

        完整的代码和运行结果如图所示:

        至于#pragma comment(lib, "msvcrt.lib")是因为使用了puts函数,如果使用printf的话可以不要这一句

 






本文转自夏雪冬日博客园博客,原文链接:http://www.cnblogs.com/heyonggang/archive/2013/04/25/3042531.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
据说是月薪2W的笔试题
话说,有这样一道据说是月薪2W的笔试题: #include "stdio.h"void print(){*}void main(){}         要求在*部分写代码使整个程序运行后输出“hello world”,有些人说,这还不简单啊,于是写出这样的代码: view source print? 01.
722 0
月薪三万的一道面试题
小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日     是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?     3月4日 3月5日 3月8日     6月4日 6月7日     9月1日 9月5日     12月1日 12月2日 12月8日     小明说:如果我不知道的话,小强肯定也不知道     小强说:本来我也不知道,但是现在我知道了     小明说:哦,那我也知道了     请根据以上对话推断出张老师的生日是哪一天 答案应该是9月1日。
773 0
月薪8000和月薪30000的程序员差在哪里?
月薪8000和月薪30000的程序员差在哪里?
2140 0
程序员年薪30万,嘲讽清华北大教授工资低,网友:你真的太年轻
我国现在经济水平飞速发展,人们的生活条件也越来越好。不过这条件一好起来,就会出现一些意想不到的问题。 前段时间,一位网友在网上嘲讽清华北大的教授,并称自己年薪30万,做开发的,而清华北大教授级别,工资不过两三万。
2483 0
【蓝桥杯】真题练习——赢球票
蓝桥杯真题训练——赢球票
0 0
找亲戚(两种方法)-360笔试题
<p><span style="font-size:18px; color:#ff0000"><strong>问题描述:</strong></span></p> <p><span style="font-size:18px"> n个人,m组亲戚关系,查找person1有多少个亲戚</span></p> <span style="font-size:18px"> 规定:x和y是亲戚,y和
1116 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载