灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3114回复:0

c语言中不使用操作符实现两个数相加

楼主#
更多 发布于:2012-09-06 12:30

不用操作符实现两个数相加,代码如下:
    int main()
    {
    int a=9;
    int b=3;
    printf("%d\n",printf("%*s%*s",a,"",b,""));
    return 0;
    }
    结果在这里:
    http://ideone.com/YlBhO
    神奇啊!
    printf函数中的*操作符用来指定输出的个数,这个值由printf后面的第一个参数指定
    所以printf("%*s%*s",a,"",b,"")可以分解为printf("%*s",a,"")输出a个空格,同理printf("%*s",b,"")是输出b个空格,这种写法好处是是a,b都是变量,可以在外部进行修改。
    printf("%*s%*s",a,"",b,"")其实就是输出了a+b个空格,在这里就是12个了,而printf的返回值是总共输出的字符个数,所以上面的语句输出是
    12
    12个空格加上12这个数字。


喜欢1 评分0

最新喜欢:

天天向上天天向上
游客

返回顶部