void swap(int a, int b)
{
int tmp = 0;
tmp = a;
a = b;
b = tmp;
}
int main()
{
int num1 = 10;
int num2 = 20;
swap(num1, num2);
printf("%d %d\n", num1, num2);
return 0;
}
void swap(int a, int* b)
{
int tmp = 0;
tmp = a;
a = *b;
b = tmp;
}
int main()
{
int num1 = 10;
int num2 = 20;
swap(&num1, &num2);
printf("%d %d\n", num1, num2);
return 0;
}
3、函数的参数
函数参数分为两类:实参和形参
实参:真实传递给函数的参数,可以是变量、常量、表达式、函数等。必须有确定的值以传递给形参
形参:函数名后括号中的变量,仅在函数被调用后实例化,并接收实参的数据,函数调用结束后销毁
形参本质是实参的临时拷贝 4、函数的调用
函数调用分为两类:值传递和引用传递
值传递:实参传入数据值,实参与形参占据不同内存块,形参不会影响实参
引用传递:实参传入数据的地址值,使得形参与实参相互关联,函数内部可操纵函数外部
例:
/// <summary>
/// 判断是否为素数
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
int isPrime(int num)
{
if (num <= 1)
{
return 0;
}
else
{
for (int i = 2; i <= sqrt(num) + 1; i++)
{
if (num % i == 0)
{
return 0;
}
}
return 1;
}