关于建立一个交换两个整形变量exchange函数
只是改变了子函数中oneanother的值,但并未改变主函数中num1num2的值。
在主调的数调用子函数之前会做如下工作:
1、从右向左的将函数的实参表達式的值,依次计算出来并入系统堆栈:
(实参表达式计算出来的值 在系统堆栈中所占用的空目,就是与形参变量的空间 !! !! !! 这就已经完成 了“参数传递”了!)
2、通过CALL汇编指令调用子函数; 而这个CALL会将主调函数的现场信息保护到系中,且紧邻着形参变量空间; 在VC程序所对应的汇編代码中,可以知道现场信息占8B!
3、(VC编译器的行为)子函数一开始,先将栈底指针移动到当前栈顶位置;2.2.5、进一步将堆栈当前栈底向上的空間分配给子函数的局部变量!2.2.6、当子函数运行结束,恢复以前的栈底和栈项指针;
4、将栈顶指针减去形参变量所占用的空间恢复到子函数调鼡之前的状态!
加载中,请稍候......
}
第二个C语言变量程序a与b的值交换
printf("請输入两个数字:");//提示使用程序者输入两个数字用与交换
}