黑马程序员技术交流社区
标题: 关于指针的问题 [打印本页]
作者: sen 时间: 2014-4-11 20:15
标题: 关于指针的问题
本帖最后由 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来返回了和跟差,我想问一下可以直接用指针来返回和跟差吗?
如果可以的话,请问代码要怎样写?求大神回答~
作者: 一只小菜鸟 时间: 2014-4-11 20:26
- void SumAndMinus(int n1,int n2,int *sum,int *minus)
- {
- *minus = n1 - n2;
-
- *sum=n1+n2;
- }
- int main()
- {
- int a = 10;
- int b = 7;
- //存储和
- int sum;
- //存储差
- int minus;
- SumAndMinus(a,b,&sum,&minus);
-
- printf("和是%d,差是%d\n",sum,minus);
- return 0;
- }
复制代码
其实你问的问题直接就可以参照差怎么写,你根据它怎么样的,就应该可以想到
作者: 于清扬 时间: 2014-4-11 23:14
本帖最后由 于清扬 于 2014-4-11 23:16 编辑
- #include <stdio.h>
- void SumAndMinus(int n1,intn2,int *n3,int *n4);
- int main()
- {
- int a = 10;
- int b = 7;
- //存储和
- int he;
- //存储差
- int cha;
-
- SumAndMinus(a,b,&cha,&he);
-
- printf("和是%d,差是%d\n",he,cha);
- return 0;
- }
- void SumAndMinus(int n1,intn2,int *n3,int *n4)
- {
- *n3 = n1 - n2;
- *n4 = n1 + n2;
- }
- 都用指针其实就是多传一个指针参数进去,然后把返回值改为空就可以了
- 这样做是没问题,但其实这老师给的代码要比都用指针更简便,因为函数只用了三个形参
复制代码
作者: sen 时间: 2014-4-12 22:01
非常感谢楼上解答的朋友~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |