关闭

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

306人阅读 评论(0) 收藏 举报
不用操作符实现两个数相加,代码如下:

    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这个数字。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:36354次
    • 积分:854
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论