鱼C论坛

 找回密码
 立即注册
查看: 1931|回复: 0

[技术交流] 菜鸡的编程日常-函数使用相关

[复制链接]
发表于 2016-4-27 11:43:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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做参数异常处理。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 00:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表