将printf()作为参数传递给自己:printf("%",printf("%s","something something"));

Igw*_*alu 1 c

这就像是一个谜题...我再次回到C,这次是为了掌握它.所以我一直在阅读C编程语言,我发表了这样的声明:

除此之外,printf还认可...... %%.

我之前不知道的事情.所以我开始通过编写这一小段代码来使用这个功能:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv) {

    int number = 300;
    printf("%\n\n%12d\n\n\n\n\n", printf("%\n\n\n\n\n\n", printf("%s", "foooo!")), number);

    return (EXIT_SUCCESS);
}
Run Code Online (Sandbox Code Playgroud)

这是输出: 输出截图

我预计输出会有300.2来自哪里- 有谁知道?

编辑

我意识到这完全是一个错误,因为我对上面引用的文本有误解.非常感谢帮助我实现这一目标.

NPE*_*NPE 11

您没有将有效的参数组合传递给三个printf()调用中的两个.这导致未定义的行为.

其中,printf也认可...... %%为自己.

这意味着%%格式说明符会导致%写入输出.

它与将返回值printf()(即写入的字符数)传递给另一个printf()调用无关.此外,您的代码甚至不包含%%.