阴影中的曙光 发表于 2016-4-27 11:43:39

菜鸡的编程日常-函数使用相关

这学期真是挺忙,没什么时间过来解决问题,所以就扔几个自己日常代码刷刷存在感吧,技术有限,代码智障,见过便忘就好,求轻喷
/*关于函数调用
函数封装时尽量都不要通过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>
#defineEXIT_ERROR 1
#defineEXIT_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做参数异常处理。
页: [1]
查看完整版本: 菜鸡的编程日常-函数使用相关