我有一个关于C中putchar函数的问题。在我学习的时候,我偶然发现了以下语句:
printf("%c\n",putchar('A'+1)+2);
当我编译并执行程序时,结果是BD。我不明白,当我们输入 putchar('A' + 1)
时,结果将是 B,但是我们是如何得到 D 的呢?这个函数不是一次返回一个字符吗?
提前致谢
最佳答案
putchar
正在做两件事:
- 将字符“B”写入
stdout
- 返回字符“B”作为函数调用的结果。
由于 putchar
返回“B”,因此它会添加 2,使其成为“D”。它作为参数传递给 printf
,然后将“D\n”写入 stdout
。
关于对 C 中的 putchar 结果感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39577773/