学函数之前的代码
可见代码中很多重复段
所以我们可以自己定义一个函数
然后下面就;可以直接调用
#includevoid sum( int begin, int end) { int i; int sum=0; for( i=begin; i<=end; i++ ){ sum+=i; } printf("%d到%d的和是%dn", begin, end, sum); } int main() { sum(1,10); sum(20,30); sum(35,45); return 0; }
可以想象成:y=f(x)
函数运行的结果 再赋给 ret
#includeint max(int a,int b) { int ret; if( a>b ){ ret=a; }else{ ret=b; } return ret; } int main() { int a,b,c; a=5; b=6; c=max(10,12); c=max(a,b); c=max(c,23); printf("%dn", max(a,b)); return 0; }
函数也可以写到下面 但是要再开头声明一下
有时候反而会产生错误
不可以交换a和b的值
传输的是值 在swap中a和b做的变换只是对于swap里面而言的, 不会影响到main里的a和b的值。
当我们调用swap函数的时候 我们就离开了main的变量空间 进入到了swap的变量空间
所以在swap中所作的事情和main没有任何关系
调用结束后swap的变量空间就没有了,则回到main的变量空间
对i的定义写在了if的块中,则在大括号的外面 想用i 则显示错误
表示不接收任何的参数
建议:函数原型里()里面一定要写东西,如果的确没有参数,就写成(void)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)