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个空格。

  • 相关阅读:
    逼哥
    作业
    malloc的底层实现
    docker基本使用
    对mudo中noncopyable类的理解
    整理
    替换war包中的文件
    SpringMVC(1):SpringMVC入门
    MySQL(5):安装MySQL
    MySQL(4):卸载MySQL
  • 原文地址:https://www.cnblogs.com/wbtcookie/p/4512959.html
Copyright © 2011-2022 走看看