#include<iostream>usingnamespace std;voidincrement(int a){a = a +1;cout <<"increment 函数内部a的值:"<< a << endl;}intmain(){int num =5;increment(num); cout <<"main 函数num的值:"<< num << endl;return0;}
按引用传递:在参数前加上&,这样函数的修改会影响到外部变量;
#include<iostream>usingnamespace std;voidincrement(int&a){a = a +1;cout <<"increment 函数内部a的值:"<< a << endl;}intmain(){int num =5;increment(num);cout <<"main 函数num的值:"<< num << endl;return0;}
默认参数:函数的某些参数有默认值;
#include<iostream>usingnamespace std;intadd(int a,int b =2){return a + b;}intmain(){cout <<"add(1): "<<add(1)<< endl;cout <<"add(1, 3): "<<add(1,3)<< endl;return0;}
变长参数:函数可以接收不同数量的参数;
#include<cstdarg>#include<iostream>usingnamespace std;intsum(int count,...){va_list args;//参数列表对象va_start(args, count);//count是参数数量int total =0;for(int i =0; i < count;++i){total +=va_arg(args,int);//获取每一个参数,类型是int}va_end(args);//清理参数列表return total;}intmain(){cout <<"3个数的总和: "<<sum(3,1,2,3)<< endl;cout <<"7个数的总和: "<<sum(7,1,2,3,4,5,6,7)<< endl;return0;}