#include<stdio.h>
int func(int x){
printf("Print\n");
return x;
}
void main(){
printf("The value of x is %d",func(50)); /* Print is printed first then the value of x */
return 0;
}
该程序的输出是:
Print
The value of x is 50
所以我的问题是为什么函数打印Print
之后它正在打印The value of x is 50
. Why The value of x is
之前没有打印,因为函数是在语句之后调用的。
让我们分析一下你的程序的流程。
main()
正在被呼叫。
-
printf()
正在被呼叫。
2.1 在评估论点时printf()
, the func(50)
遇到函数调用
2.2 func(50)
函数开始执行。它打印Print
并返回x
[50]
最后,printf()
in main()
好像printf("The value of x is %d",50);
[50是函数调用的返回值func(50)
]
发生第二次打印,打印The value of x is 50
所以,你的输出屏幕看起来像
Print
The value of x is 50
注意:正如评论中已经提到的,使用int main()
代替void main()
。否则,return 0
毫无意义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)