求助各位大侠:在不修改main函数和子函数的条件下更改输出?(一到面试题)

babyly1314 2008-11-05 07:35:27
# include <stdio.h>
void hello () { printf(“ Hello, world!\n”); }
int main ()
{
hello(); return 0;
}
试修改上面的程序,使其输出变成:
Begin
Hello, world!
End

限制:(1)不能对main()进行任何修改;(2 )不能修改hello()中的printf语句,也不能在hello()中增加任何其他可执行语
句。
...全文
266 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiahuan909 2010-01-09
  • 打赏
  • 举报
回复
我学习到了你的们的程序,很妙很妙!
bzero1982 2008-11-07
  • 打赏
  • 举报
回复
# include <stdio.h>
class NewAdd
{
public:
NewAdd(){ printf(" Begin \n");}
~NewAdd(){printf(" End \n");}
};
NewAdd g_dd;
void hello () { printf(" Hello, world!\n"); }

int main ()
{
hello();
return 0;
}

太乙 2008-11-06
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 babyly1314 的回复:]
谢谢各位大拿
[/Quote]

有人发过这个帖子!~
babyly1314 2008-11-06
  • 打赏
  • 举报
回复
谢谢各位大拿
babyly1314 2008-11-06
  • 打赏
  • 举报
回复
老师给的题目,估计是去年的了
太乙 2008-11-05
  • 打赏
  • 举报
回复
# include <stdio.h> 
#define printf(x) printf("Begin\n"##x"End\n")
void hello () { printf("Hello, world!\n"); }
int main ()
{
hello(); return 0;
}
kiffa 2008-11-05
  • 打赏
  • 举报
回复
或者:
# include <stdio.h>
#define printf(x) printf("BEGIN\n Hello, world!\nEND");

void hello () { printf(“ Hello, world!\n”); }
int main ()
{
hello(); return 0;
}
kiffa 2008-11-05
  • 打赏
  • 举报
回复
把原来的代码注释掉,自己写个新的,这样算不算修改?
/*
# include <stdio.h>
void hello () { printf(“ Hello, world!\n”); }
int main ()
{
hello(); return 0;
}
*/

# include <stdio.h>

int main ()
{
cout << "BEGIN\n" << " Hello, world!\n" << "END" << endl;
}
jia_xiaoxin 2008-11-05
  • 打赏
  • 举报
回复
用类的构造和析构函数

class Test 
{
public:
Test (){printf("Begin\n");}
~Test (){printf("end\n");}
};

Test t;
void hello () { printf(" Hello, world!\n"); }
int main ()
{
hello(); return 0;
}
aidingbao1019 2008-11-05
  • 打赏
  • 举报
回复
全局变量初始化先于main()函数的执行,c++中设置类的构造函数与析构函数可以实现。。。。。123楼的不错
但程序中各种细节貌似更倾向于c语言。。。各位大拿继续写c下的。。。。
肥多罗 2008-11-05
  • 打赏
  • 举报
回复
1\2\3楼是对的
Oversense 2008-11-05
  • 打赏
  • 举报
回复
题目还行
kdy88120 2008-11-05
  • 打赏
  • 举报
回复
2,3楼思想比较好
MARK
R9R9R9 2008-11-05
  • 打赏
  • 举报
回复
#pragma comment(linker, "/entry:\"foo\"") //设置新的入口地址

void hello () { printf("Hello, world!\n"); }

int foo()
{
printf("Begin\n");
hello();
printf("End\n");
return 0;
}



int main ()
{
hello();
return 0;
}
frisky_lobo 2008-11-05
  • 打赏
  • 举报
回复

# include <stdio.h>
calss main1
{
public:
void hello () { printf(“ Hello, world!\n”); };
int main () { hello(); return 0; };
}
int main( void )
{
printf("Begin\n");
main1 text;
text.main();
printf( "end\n" );
return 0
}
R9R9R9 2008-11-05
  • 打赏
  • 举报
回复

class A
{
public:
A(){std::cout<<"Begin"<<std::endl;}
~A(){std::cout<<"Endl"<<std::endl;}
}

A oAAAAAAAA;


void hello () { printf(“ Hello, world!\n”); }

int main ()
{
hello(); return 0;
}
Fighting Horse 2008-11-05
  • 打赏
  • 举报
回复
struct Wrap
{
Wrap() { printf("Begin\n");}
~Wrap() { printf("End\n");}
} wrap;
terran_ye 2008-11-05
  • 打赏
  • 举报
回复
类的构造析构

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧