zoukankan      html  css  js  c++  java
  • 不用任何操作符(包括位运算符)计算两个数的加法

    先上代码:

     int add(int left, int right) 
    {
         return printf("%*s%*s", left, " ", right, " ");      
    }

      这种奇葩的题目很有可能出现在面试中,不同于曾经出现过的不用+、-、*、/操作符来实现两数的四则运算,这一题是通过printf函数的返回值来求得两个数相加的值。

    printf的返回值为其输出的字符个数,printf("%*s%*s", left, " ", right, " "),

    其中“%*s”中的*表示对齐的大小不确定,通过后面对应字符前的参数传过来

    即printf("%*s%*s", left, " ", right, " ")含义为打印left个空格和right个空格,返回值则为left+right

    PS:printf还有一种形式

    printf(“%*s”,4,”*”);     表示输出“___*”,前面输出3个空格。

    printf(“%*s”,4,“**”);   表示输出“__**”,前面输出2个空格。

  • 相关阅读:
    Python_soket
    Python_正则表达式语法
    Python_math模块
    Python_random模块
    Python_os模块
    Python_time模块
    Java技能树-图片版
    读书笔记---《编写可读代码的艺术》
    Java代码优化建议
    Git常用命令
  • 原文地址:https://www.cnblogs.com/wbtcookie/p/4512959.html
Copyright © 2011-2022 走看看