gpt4 book ai didi

c - 为什么 printf() 打印这样的东西?

转载 作者:行者123 更新时间:2023-11-30 21:40:58 26 4
gpt4 key购买 nike

我在互联网上发现了一个问题,有一个 C 程序,例如 -

int main(){
int a = 123;
printf("%d", printf("%d",a));
return 0;
}

我在Codeblocks上运行该程序并找到结果1233
我的问题是为什么 printf() 会这样?

最佳答案

参见printf是一个返回int的函数。其中 int 是打印的字符数量。

这是一个 printf 原型(prototype)

int printf(const char *restrict format, ...)

根据您的计划:

printf("%d", printf("%d",a));

printf("%d",a) 其中 a123,因此它打印 123 并且返回3
并且 printf("%d", printf("%d",a)); 变成 printf("%d",3); 所以它打印 prints 3 单独

所以你的输出是:
1233

关于c - 为什么 printf() 打印这样的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36170447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com