全部问题 > 当前问题

请问r=f(r,&n)

这个要怎么解读啊?


指针赋值不是要加*吗?


没*是修改地址吧?

火股 2016-3-19 14:42:33

共 2 个回答

嘿嘿大人 2016-3-23 12:46:31

将f函数的返回值赋值给r,没有什么指针赋值要加星号这种说法,指针变量所指的元素赋值才加星号

火股 2016-3-23 12:52:47

回复 嘿嘿大人:比如指针值交换,temp=*a,*a=*b,*b=temp


把*去掉就变成地值交换了啊


这里难熬不是一样的吗?还是说r指向函数?

问题来自: 指针和函数
有以下程序
#include <stdio.h>
int *f(int *p,int *q);
main()
{ int m=1,n=2,*r=&m;
  r=f(r,&n); printf("%d\n",*r);
}
int *f(int *p,int *q)
{return (*p>*q)?p:q;}
程序运行后的输出结果是 __【11】__ 。
A. 0
B. 1
C. 2
D. 3
答案:C
解析:f函数的功能是返回两个数的最大值,即输出m和n中的较大数。因此答案是2。