我对C语言中的putchar函数有疑问。在学习期间,我偶然发现了以下语句:
printf("%c\n",putchar('A'+1)+2);
当我编译并执行程序时,结果是BD。我无法理解,当我们键入putchar('A' + 1)时,结果将为B,但是如何获得D?这个函数一次不返回一个字符吗?
提前致谢

最佳答案

putchar在做两件事:


将字符“ B”写入stdout
返回char'B'作为函数调用的结果。


由于putchar返回了“ B”,因此它添加了2,使其成为“ D”。这作为参数传递给printf,然后将“ D \ n”写入stdout

关于c - 对C中的putchar结果感到困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39577773/

10-12 01:27