1).
每个函数都有一个自己的栈
当调用/执行一个函数时,就会开辟一个独立的空间(栈)
此处优先执行main栈
当接触到test时
会重新创建一个test栈,并且把6传递给test的n
当test栈运行完毕后,它会再次回到main栈(如果函数有返回值,则把返回值赋给接受的变量,再继续执行)
从调用test后继续运行(即如果test(num)的下一行加入printf,他会先打印n2,再打印main函数里面的printf)
同时test栈会自己销毁(取决于编译器)
1 #include <stdio.h> 2 3 4 //说明 5 //1.函数名字test 6 //2.函数没有返回,void 7 //3.完成功能:传入一个数+1 8 void test(int n){ 9 int n2 = n + 1; 10 printf("n2=%d", n2); 11 } 12 void main(){ 13 int num = 6; 14 test(num); 15 }
2)
1 #include <stdio.h> 2 3 //说明 4 //1.函数名字getSum 5 //2.函数有返回,int 6 //3.完成功能:传入两个数后相加 7 int getSum(int n1, int n2){ 8 return n1 + n2; 9 } 10 void main(){ 11 int res = getSum(1, 9); 12 printf("res=%d", res); 13 }
注意类型转换!!!int double等
同时也要注意接受的变量的类型
举例检测
标签:main,函数,int,函数调用,printf,test,机制,图解,n2 From: https://www.cnblogs.com/MorningMaple/p/16751430.html