马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这学期真是挺忙,没什么时间过来解决问题,所以就扔几个自己日常代码刷刷存在感吧,技术有限,代码智障,见过便忘就好,求轻喷/*关于函数调用
函数封装时尽量都不要通过return;来返回数值,而是在函数调用时就直接传入结果变量的指针,
再在子函数里通过指针间接改变数值,return 回来的值用于判断函数是否正常退出*/
#include <stdio.h>
#include <stdlib.h>
int add(int,int);
int main(){
int num1=1,num2=2,result;
result=add(1,2);
printf("result=%d\n",result);
system("pause");
return 0;
}
int add(int formal_parameter1,int formal_parameter2){
return formal_parameter1+formal_parameter2;//formal parameter形参
}//错误案例
#include <stdio.h>
#include <stdlib.h>
#define EXIT_ERROR 1
#define EXIT_SUCCEED 0
int add(int,int,int *);
int main(){
int num1=1,num2=2,result;
int *p=&result;
add(1,2,p);
printf("result=%d\n",*p);
system("pause");
return 0;
}
int add(int formal_parameter1,int formal_parameter2,int *formal_parameterP){
*formal_parameterP=formal_parameter1+formal_parameter2;//formal parameter形参
if (formal_parameterP!=NULL){
return EXIT_SUCCEED;
}
else return EXIT_ERROR;
}//改进方案
//注释c里面要假定所有静态函数参数都是合法的,这种假定建立在严格的外部输入参数合法与安全的过滤
//下层封装参数合法性最好使用断言,最上层函数封装直接接受用户数据,需用if做参数异常处理。
|