一个变态C/C++面试题的变态解法

这是源自某论坛的一个问题,原帖如下(#########分隔)

############################################################################

屏幕上打印1-1000这1000个数, 不许使用循环语句/条件语句,不许使用?:算符。
不许在源代码中用列举输出语句的办法傻打,比如一千个printf语句不行

一个cout后面跟上1-1000这样的也不行, 不再赘述其他傻打行为, 大家都能领会精神。

结果,出了好多千奇百怪的答案, 下面举一个例子

 


 

############################################################################


上面这个解法使用的是自动报错(divide by zero)从而退出,严格讲,这样的代码是错误的。

我在这里给两个正确的:


1. 使用函数指针数组

 

 

2. 使用模板递归

 

 

=============================================

从网上搜出其他的解决办法:

1. 构造函数(也可以使用析构函数,一样的道理)

 

 

2. 最变态的一个(虽然代码不是很严格):

 

 

大家可以大胆发挥想象力,寻求更变态的解决办法

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值