有趣啊!各种编程语言实现2+2=5

今天在 stackexchange 上看到一篇非常有趣的帖子,是关于如何用各种编程语言实现 2 + 2 = 5 的,2 + 2 怎么会等于 5 呢?我一开始也很不解,不过看了下面各种编程语言实现的方法,我震惊了,让我又一次相信人类真是一种不可思议的生物。

我们提供的服务有:成都网站制作、成都网站建设、微信公众号开发、网站优化、网站认证、灵丘ssl等。为上1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的灵丘网站制作公司

1、JAVA

  
 
  1. import java.lang.reflect.Field;
  2. public class Main {
  3.     public static void main (String[] args) throws Exception {
  4.         Class cache = Integer.class.getDeclaredClasses ()[0];
  5.         Field c = cache.getDeclaredField ("cache");
  6.         c.setAccessible (true);
  7.         Integer[] array = (Integer[]) c.get (cache);
  8.         array[132] = array[133];
  9.         System.out.printf ("%d",2 + 2);
  10.     }
  11. }

输出:

5

2、C

  
 
  1. int main () {
  2.     char __func_version__[] = “5″; // For source control char b[]=”2″, a=2;
  3.     printf (“%d + %s = %s\n”, a, b, a+b);
  4.     return 0;
  5. }

3、C (Linux, gcc 4.7.3)

  
 
  1. #include 
  2. int main (void)
  3. {
  4.     int a=3, b=2;
  5.     printf (“%d + %d = %d”, –a, b, a+b);
  6. }

4、Haskell

  
 
  1. λ> let 2+2=5 in 2+2 5

5、BBC BASIC

  
 
  1. MODE 6
  2. VDU 23,52,254,192,252,6,6,198,124,0
  3. PRINT
  4. PRINT “2+2=”;2+2
  5. PRINT “2+3=”;2+3

6、Python

  
 
  1. >>> patch = '\x312\x2D7' >>> import ctypes;ctypes.c_int8.from_address (id (len (patch)) +8) .value=eval (patch)
  2. >>> 2 + 2 5

7、JavaScript

  
 
  1. g = function () {
  2.   H = 3 return H + H
  3. }
  4. f = function () {
  5.   Η = 2 return Η + H
  6. }
  7. // 3 + 3 = 6 alert (g())
  8. // 2 + 2 = 5 alert (f())

8、Bash

9、PHP

  
 
  1. echo ’2 + 2 = ‘ . (2 + 2 === 4 ? 4 : 2 + 2 === 5 ? 5 : ‘dunno’);

10、Perl

  
 
  1. # Generic includes use strict;
  2. use warnings;
  3. use 5.010;
  4. use Acme::NewMath;
  5. # Ok, time to begin the real program. if (2 + 2 == 5) {
  6.     say 5;
  7. }
  8. else {
  9.     say "Dunno...";
  10. }

11、C#

  
 
  1. static void Main (string[] args)
  2. {
  3.     var x = 2;
  4.     var y = 2;
  5.     if (1 == 0) ;
  6.     {
  7.         ++x;
  8.     }
  9.     Console.WriteLine (x + y);
  10. }

12、C++

  
 
  1. #include 
  2. class Int
  3. {
  4. public:
  5.     Int (const int& a) : integ (a) {}
  6.     friend std::ostream& operator<<(std::ostream& oss, const Int& rhs)
  7.     {
  8.         return oss << rhs.integ;
  9.     }
  10.     int operator+(Int o)
  11.     {
  12.         if(integ == 2 && o.integ == 2)
  13.             return integ+o.integ+1;
  14.         return integ+o.integ;
  15.     }
  16. private:
  17.     int integ;
  18. };
  19. int main ()
  20. {
  21.     Int two = 2;
  22.     std::cout << two << " + " << two << " = " << two + two;
  23. }

各位有什么补充的,发挥你的想象吧,评论中告诉我们。

当前名称:有趣啊!各种编程语言实现2+2=5
路径分享:http://www.shufengxianlan.com/qtweb/news23/62973.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联