哪位大哥帮我看一下这个C语言的小程序?感激不尽!!

2025-05-17 16:38:46
推荐回答(3个)
回答1:

# include
main()
{
int y,a[]={1,2,3,4};
int *p=a;
p=&a[1];
y=(*--p)++;
printf("the result is %d",y);
}
答案为 1
这是编程的源代码。你可以按照上述的内容用C执行。得到答案就是1.

回答2:

P指向a[1]的地址,--p就是指向了a[0]的地址,然后*(--p)就是a[0]的值,然后a[0]的值为1,最后就相当于y=a[0]++,所以y=1

回答3:

一步一步分析
假设 j=--p 相当于 j=p-1 p=1;
所以 (*--p)=a[0]=1
y=(*--p)++ 相当于 y=(*--p) (*--p)=(*--p)+1
所以答案为(*--p)=1