像这种add(Read(),Read())
,怎么好像顺序会反过来?那要是再多几个变量,再多套几层的话会怎样呀?Min(Sum(Read(),Read(),Read()),Min(Read(),Read()))
。。
自己写过程想传递(或传出)一个数组应该怎么做?
谢谢 ~
看函数的调用约定,cdecl和stdcall是从后往前压入堆栈,编译器通常先求后面的值
如果有嵌套,那么是递归的,以你的程序为例,先调用两次read,然后调用min,然后调用三次read,然后调用sum,最后调用min
最好不要这么写由于每个编译器的实现有所不同,无法预测执行顺序。
add(Read(), Read())
不同的编译器,可能先执行前一个Read(),后执行Read(),这时如果Read()函数改变了某个值,那么这将导致错误
对于这种依赖于编译器执行顺序的问题,最好将代码改为如下
// 明确说明先执行第一个Read();
someType lhs = Read();
someType rhs = Read();
add(lhs, rhs);
至于怎么传数组,可以说具体点,不太明白你的意思。
数组传地址就可以了 。。
数组传地址就行;
数据不多的话也可以变成字符串传递;