码迷,mamicode.com
首页 > 其他好文 > 详细

<10> 无参无返回值+ 无参有返回值函数的定义+有参无返回值函数定义+ 有参有返回值函数定义+函数的参数+函数的参数传递过程

时间:2015-07-05 19:45:39      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

无参无返回值:

 1 #include <stdio.h>
 2 
 3 
 4 /**
 5  *  定义一个无参无返值函数
 6  *
 7  */
 8 void print_line(){
 9 
10     printf("-----------------\n");
11 
12 }
13 
14 
15 
16 int main(int argc, const char * argv[]) {
17     //调用函数
18     print_line();
19     
20     return 0;
21 }

无参有返回值函数的定义

 1 /*
 2  
 3      注意:1)xxx()
 4  
 5           2)返回值  函数名(){}
 6  
 7           3) 如果有返回值,在函数体中必须有 return 语句;
 8  
 9  */
10 
11 
12 #include <stdio.h>
13 /**
14  *  无参有返回值的函数
15  *
16  *  @return int类型
17  */
18 int sum(){
19 
20     //1、定义变量
21     int num1,num2;
22     int result=0;
23     
24     //2、提示用户输入两个数
25     printf("请输入两个数,用\",\"分隔\n");
26     
27     //3、接收用户输入的两个数
28     scanf("%d,%d",&num1,&num2);
29     
30     //4、进行计算
31     result = num1 + num2;
32     
33     //5、返回计算的结果
34 
35     return result;
36 }
37 
38 int main(int argc, const char * argv[]) {
39     // 从键盘上输入两个数,计算他们的和
40     int s = sum();
41     printf("s = %d\n",s);
42     return 0;
43 }

有参无返回值函数定义

 1 /*
 2  
 3    有参无返回值
 4  
 5     1)返回值的位置应该写 void
 6  
 7     2) 函数名后面的小括号中不能为空
 8  
 9     3)参数的写法
10  
11        数据类型 变量名;
12  
13 
14  */
15 
16 
17 #include <stdio.h>
18 
19 /**
20  *  有参数无返回值类型的函数
21  *  功能:打印n条线
22  */
23 int n = 10;
24 //                定义了一个整形变量 n,n也称之为形参变量名
25 void print_line_n(int n){
26 
27     //n的作用域:从定义的位置开始,到函数的"}"结束
28     for (int i=0; i<n; i++) {
29         printf("--------------\n");
30     }
31 
32 }
33 
34 
35 
36 int main(int argc, const char * argv[]) {
37     
38     print_line_n(5);
39     
40     return 0;
41 }

有参有返回值函数定义

#include <stdio.h>
//定义了两个形式参数(形参) 分为int类型的x和int类型的y
int max(int x,int y){
    
    //用if的方式判断
    if (x>y) {
        
        return x;
        
    }else{
    
        return y;
    }

    printf("xxxxoooo");
}


int max1(int x,int y){
    
    return x>y?x:y;
    
}

int main(int argc, const char * argv[]) {
    //求两个数的最大值,用函数实现
    int m = max1(12, 38);
    printf("m = %d\n",m);
    return 0;
}

函数的参数:

   形式参数,简称形参:
 
          在函数的定义中,函数名后面小括号中的参数
 
          注意:
 
          1)形参定义后 并不会立即分配存储空间
             在函数调用的时候才会真正的分配存储空间
 
          2)如果多个形参,可以用逗号分隔
 
          3)形参的类型可以不相同
 
          4) 在函数中不能定义和形参同名的变量
 
     主调函数: 
 
           //test2是一个主调函数
           //test1是一个被调函数
 
          void test1(){
 
 
          }
 
 
          void test2(){
              test1();
          }
 
   实际参数,简称实参
 
          在函数调用的时候,函数名小括号中的参数
 
         注意:
 
           实参可是是变量,也可以是常量,也可以是表达式
 

函数的参数传递过程:

   实参和形参之间的值的传递的过程
 
    1) 调用函数的时候,实参的值是一个已经确定的值
 
    2)把实参的值,赋值给形参
 
    3)实参和形参的个数、类型要一致
 
       如果类型不一致,会造成精度丢失
  
    4)形参的值在函数内部可以被修改,但是不会影响主调函数中实参的数据
 
 1 #include <stdio.h>
 2 
 3 int sum(int x,int y){
 4     x = 10,y=20;
 5     return  x+y;
 6 
 7 }
 8 
 9 int main(int argc, const char * argv[]) {
10     //          double
11     double d1 = 4.5,d2 = 56.3;
12     int d = sum(d1, d2);
13     printf("%d\n",d);
14     
15     return 0;
16 }
30

函数的返回值及注意事项:

函数的返回值:
 
       被调函数返回给主调函数的值
 
  函数返回值的使用注意
 
       1) 函数返回值,用到一个关键字 return 
 
       2) return 常量;  return 0;
          return 表达式;   return a = 5;  return a>5(0或者1);  return a+b; return a;
 
       3) return (常量/变量/表达式)  //可以加上括号,也可以省略
 
       4)如果return 的值和函数定义的返回值类型不一致,以函数的返回值类型为准

 

 1 #include <stdio.h>
 2 
 3 //sum相对main被调函数
 4 //int sum(int x,int y){          //返回值是int,以int为准
 5 //
 6 //    float b = 3.4f;  //float
 7 //    return b;        //float
 8 //}
 9 
10 sum(int x,int y){      //会报警告
11     
12     return x+y;
13 }
14 
15 //main 相对 sum 是一个主调函数
16 int main(int argc, const char * argv[]) {
17     
18     printf("sum = %d\n",sum(34, 12));
19     return 0;
20 }

------------------------------------------------------------------

【掌握】函数的声明

 

 

 

<10> 无参无返回值+ 无参有返回值函数的定义+有参无返回值函数定义+ 有参有返回值函数定义+函数的参数+函数的参数传递过程

标签:

原文地址:http://www.cnblogs.com/kongweiiwei/p/4622811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!