C中的Follwing代码给出输出" hello5" ...怎么样?
#include<stdio.h>
int main(){
int f = fun();
printf("%d",f);
return 0;
}
void fun(){
printf("hello");
}
答案 0 :(得分:2)
你看到的是未定义的行为。
值f
永远不会被初始化,并且您正在打印未初始化的变量,这将导致未定义的行为。
printf()
返回成功打印出的字符数,因此这里的计数为5(问候),用于打印你好。
如果您想要定义行为,则需要返回此值,因为您正在main()中初始化变量f
int func()
{
int j;
j = printf("hello");
return j;
}