1.C语言中只有从实参到形参的单向传递,在执行函数中若改变了形参,实参不会同步改变。
#include <stdio.h>
bool fun(int n, int s) {
int i;
if (n < 0)
return false;
s = 0;
for (i = 1; i <=n; i++)
s += i;
return true;
}
void main() {
int a = 10, b = 0;
if (fun(a, b))
printf("%d\n", b);
else
printf("参数错误\n");
}
执行结果:
为此,在C++中增加了引用型参数的概念,引用型参数前需加上&,表示这样的形参在执行后会将结果回传给对应的实参。
上述例子中s加上&后
#include <stdio.h>
bool fun(int n, int &s) {
int i;
if (n < 0)
return false;
s = 0;
for (i = 1; i <=n; i++)
s += i;
return true;
}
void main() {
int a = 10, b = 0;
if (fun(a, b))
printf("%d\n", b);
else
printf("参数错误\n");
}
执行结果:
2.算法的时间复杂度
算法的最好/最坏情况和平均情况
3.算法空间复杂度