|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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做参数异常处理。
复制代码 |
|