c - 在不使用运算符的情况下添加两个数字

标签 c printf addition

我正在寻找如何在不使用 ('+'/'++') 的情况下将两个数字相加,然后通过 link .但是,我也找到了这个解决方案:

#include<stdio.h>
int add(int x, int y);

int add(int x, int y)
{
    return printf("%*c%*c",  x, ' ',  y, ' ');
}

int main()
{
    printf("Sum = %d", add(3, 4));
    return 0;
}

有人可以解释一下 add 函数中发生了什么吗?

最佳答案

return printf("%*c%*c",  x, ' ',  y, ' ');

printf格式中的*表示用于打印字符的字段宽度取自printf的一个参数,在此大小写,xyprintf 的返回值是打印的字符数。所以它打印一个字段宽度为 x' ' 和一个字段宽度为 yx + y 个字符。

关于c - 在不使用运算符的情况下添加两个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12759209/

相关文章:

内核运行需要调用 clGetDeviceInfo

c++ - 在linux中将共享库与另一个共享库链接

printf - node.js 是否有 sprintf 等价物

c - 这个 printf 是什么意思?

c - 在 C 中将数组写入 .dat 文件

c - 关于 nftw() 和 ftw() 线程安全的问题

c - Pthreads、fread() 和 printf() : Getting random D4's in my string

c# - 时间跨度加减法

matlab - 向矩阵添加一行

java - 如何在 Java 中按字母顺序将对象添加到链表中?