c-function

#include <iostream>
#include<stdio.h>
 using namespace std;


/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//函数==功能模块
//c语言是面向过程,就是对面向函数的功能,以调动函数为主。
//形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。
//因此,形参只有在函数内部有效。
//函数调用结束返回主调函数后则不能再使用该形参变量。






/* 
//3.0函数声明:当函数放在主函数后,要在主函数前面进行函数声明
//声明的函数中,形参可有可无,形参可与后面函数的形参不同,但最好设置一样。但是函数中形参表达式必须与函数形参名字一致。  
//声明函数不能对形参赋予默认值。 


int show(int , int ); // pay attention to " ; "
int show(int x, int y,int z);


int main(){

show(10,10); // 
int v2 = show(1,2);
int v3 = show(1,2,3);
printf("v2 = %d,v3 = %d",v2,v3);
// printf("v = %d,v1 = %d,v2 = %d,v3 = %d,",v,v1,v2,v3);
return 0;
}
int show(int x, int y){
return x+y;
}
int show(int x, int y = 0,int z = 0){
return x+y+z;//y赋值默认参数时,z就必须赋值默认参数,x可以不用。 

*/

//2.0当show(int x=0)和int show(int x, int y=0 ,int z=0 )时会编译出错。计算机会混淆,不知道show(10)该怎么办
int show(int x  ){
return x;


int show(int x, int y){
return x+y;

}


int show(int x, int y ,int z ){
return x+y+z;//y赋值默认参数时,z就必须赋值默认参数,x可以不用。 


int main(){


int a = 10,b = 10,c = 1, d = 2,e = 3;
show(a,b); // 函数调用语句 

int v1 = show(a);//调用函数表达式
int v2 = show(c, d);

int v3 = show(c,d,e);


printf("v1 = %d,v2 = %d,v3 = %d",v1,v2,v3);

return 0;
}


/*
//1.3 函数调用方式:函数调用语句 ,调动函数表达式 ,函数参数:把函数当作参数。 
//function中是参数是可以有默认值的 ,多形参时,如果要给默认值,必须从左边开始往右都要有
// 如果左边的形参赋值默认值,而其右边没有,那么就会出错。 


int show(int x = 0 ){
return x;



int show(int x, int y){
return x+y;
}


int show(int x, int y = 0,int z = 0){
return x+y+z;//y赋值默认参数时,z就必须赋值默认参数,x可以不用。 



int main(){


// show(10,10); // 函数调用语句 
int v = show();//调用函数表达式 
int v1 = show(10);
int v2 = show(1,2);

int v3 = show(1,2,3);


printf("v1 = %d,v2 = %d,v3 = %d",v1,v2,v3);

printf("v = %d,v1 = %d,v2 = %d,v3 = %d,",v,v1,v2,v3);


return 0;
}




//1max and min by function!


/*1.2C++重载 
int max(int a, int b){
return a > b ? a : b;

double max(double a, double b){
return a > b ? a : b;
}
int min(int a, int b){
return a > b ? b : a;
}


int main(int argc, char *argv[]) {
printf("maxvalue = %d\n",max(1,2));
printf("maxvalue1 = %f\n",max(1.1,2.2));//主要%f不是%d 

return 0;

}*/


/*1.1 不同类型的数字比较大小 -重载 
int max(int a, int b){
return a > b ? a : b;

double max(double a, double b){
return a > b ? a : b;
}
int min(int a, int b){
return a > b ? b : a;
}


int main(int argc, char *argv[]) {

int a,b,minvalue,maxvalue;


printf("please input a and b!\n");

scanf("%d%d",&a,&b);


maxvalue = max(a,b);

minvalue = min(a,b);


printf("maxvalue = %d,minvalue = %d\n",maxvalue,minvalue);
printf("maxvalue1 = %f\n",max(1.1,2.2));

return 0;
}*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值