c - printf的返回类型是什么

标签 c function return-value

这可能是个愚蠢的问题,但我很困惑。这就是为什么我要消除我的疑虑。昨天,在我的面试中,我收到了一个问题,例如

char ch="Hello";
printf("%d",printf("%s",ch));

我以为printf是一个 void 类型的函数,因为我从来没有见过printf分配给任何变量的函数。所以,我告诉过,它将显示编译错误。因为,编译器找不到返回类型 printf功能。但是我错了。输出是Hello5。我真的很困惑,这是怎么来的。

最佳答案

函数 fun() 返回一个 int,你只是没有将它分配给任何东西。因此返回值被丢弃,因为它没有分配给任何东西。

顺便说一下,printf 不是一个 void 函数,而是返回打印的字符数,在“Hello”的情况下为 5。

关于c - printf的返回类型是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13588320/

相关文章:

c - 使用 %*c 清除 scanf 缓冲区的危险

c - 书籍和 shellcode 示例

javascript - 第一类使用的这两个函数有什么区别? (javascript)

javascript - javascript中的多个函数调用,即combine(foo)(bar)

PHP MySQL INSERT 执行一次查询返回值

c - 发送/接收的 MPI 数据类型必须匹配吗?

c - 尝试访问结构数组时出现段错误

c++ - 为什么这个 while 循环在输入的每个字符之后重复?

java - 如何在 Java 中返回 2 位有效数字的整数?

python - 从函数返回带有单个项目的元组