使用printf从void函数中获取值

时间:2017-06-07 15:43:39

标签: c

我想了解以下C程序。

#include <stdio.h>
int main()
{
   int k = m();
    printf("%d", k);
}
void m()
{
    printf("hello");
}

以上代码生成hello5的输出。我理解为什么打印hello,但我不明白为什么背后有55如何返回并存储到变量k中?该计划的流程如何运作?

1 个答案:

答案 0 :(得分:4)

您要将m()的返回值指定给k。由于m()没有返回值,因此将显示未定义的行为,因此将会出现&#34; garbage&#34;在k中(在这种情况下:5)。