A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sen 中级黑马   /  2014-4-11 20:15  /  715 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 sen 于 2014-5-20 11:58 编辑

#include <stdio.h>
intSumAndMinus(int n1,intn2,int *n3);
int  main()
{
    int a = 10;
    int b = 7;
    //存储和
    int he;
    //存储差
    int cha;
   
    he = SumAndMinus(a,b,&cha);
   
    printf("和是%d,差是%d\n",he,cha);
    return 0;
}
intSumAndMinus(int n1,intn2,int *n3)
{
    *n3 = n1 - n2;
   
    returnn1 +n2;
}

这个代码是使用了指针变量和return来返回了和跟差,我想问一下可以直接用指针来返回和跟差吗?
如果可以的话,请问代码要怎样写?求大神回答~

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

3 个回复

倒序浏览
  1. void SumAndMinus(int n1,int n2,int *sum,int *minus)
  2. {
  3.     *minus = n1 - n2;
  4.    
  5.     *sum=n1+n2;
  6. }

  7. int  main()
  8. {
  9.     int a = 10;
  10.     int b = 7;
  11.     //存储和
  12.     int sum;
  13.     //存储差
  14.     int minus;
  15.     SumAndMinus(a,b,&sum,&minus);
  16.    
  17.     printf("和是%d,差是%d\n",sum,minus);
  18.     return 0;
  19. }
复制代码

其实你问的问题直接就可以参照差怎么写,你根据它怎么样的,就应该可以想到

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 于清扬 于 2014-4-11 23:16 编辑
  1. #include <stdio.h>
  2. void SumAndMinus(int n1,intn2,int *n3,int *n4);
  3. int  main()
  4. {
  5.     int a = 10;
  6.     int b = 7;
  7.     //存储和
  8.     int he;
  9.     //存储差
  10.     int cha;
  11.    
  12.     SumAndMinus(a,b,&cha,&he);
  13.    
  14.     printf("和是%d,差是%d\n",he,cha);
  15.     return 0;
  16. }
  17. void SumAndMinus(int n1,intn2,int *n3,int *n4)
  18. {
  19.     *n3 = n1 - n2;
  20.    *n4 = n1 + n2;
  21. }

  22. 都用指针其实就是多传一个指针参数进去,然后把返回值改为空就可以了
  23. 这样做是没问题,但其实这老师给的代码要比都用指针更简便,因为函数只用了三个形参
复制代码

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
非常感谢楼上解答的朋友~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马