
是先解字函数还是先解主函数?有没有人解答一下,谢谢啦!想知道一下
先执行main()函数,然后在main()函数中调用了fun()函数,fun()函数执行后打印出8,然后在main()函数里面执行下面的代码,打印出4。
测试如下:
参考链接:
https://blog.csdn.net/nanfeibuyi/article/details/80834983
https://blog.csdn.net/bleauchat/article/details/119429254
#include <stdio.h>
int d=1; // 定义全局变量d,初始赋值为1
void fun(int);
int main(void){
int a=3;
fun(a); // 先执行main()函数,然后到这一行,调用fun()函数,打印出8,然后换行
// https://blog.csdn.net/nanfeibuyi/article/details/80834983
// https://blog.csdn.net/bleauchat/article/details/119429254
// 后缀++,先取a的值3,然后全局变量d复合赋值,在原来的值1的基础上再加上3,结果d的值变为4
// 所以下面打印全局变量d的值就是4
// 然后,总共打印出的就是两行,第一行打印8,第二行打印4
d+=a++;
printf("%d",d);
return 0;
}
void fun(int a){
int d=5; // fun()函数内定义的局部变量,会在这里覆盖全局变量d,所以在fun()函数内起作用的是这里定义的局部变量d
// https://blog.csdn.net/nanfeibuyi/article/details/80834983
// 后缀++,先取a的3值,然后a再自增1,所以这里局部变量d复合赋值是在原来d的值的基础上再加3,即5+3=8
// 所以打印d的值就是8
d+=a++;
printf("%d\n",d);
}
