#include<stdio.h> int *f(int *s) { s +=1; s[1] +=6; *s++ +=7; return s; }

#include<stdio.h>int*f(int*s){s+=1;s[1]+=6;*s+++=7;returns;}main(){inta[5]={1,2,3,4,5... #include<stdio.h>
int *f(int *s)
{
s +=1;
s[1] +=6;
*s++ +=7;
return s;
}
main()
{
int a[5] = {1,2,3,4,5}, *p=a;
p=f(p);
printf("%d,%d,%d,%d\n",
a[0],a[1],a[2],a[3],a[4]);
}
是怎么运行的求解答
展开
 我来答
cdyzxy
2020-03-30 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3735万
展开全部

f(p): s指向数组a的起始位置,即a[0]位置

s+=1; s指向a[1],s[1]+=6; 【s[0]指向a[1],s[1]指向a[2],a[1,2,9,4,5]】

*s+=7; 【s指向a[1],a[1,9,9,4,5]】

s++;【s指向a[2]】

返回a[2]位置

p=f(p); 【p指向a[2]】

输出:1,9,9,4

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式