标签:
无参无返回值:
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