#include<stdio.h>struct c语言结构体题目?

#include<stdio.h>structord{intx,y;}dt[2]={1,2,3,4};main(){structord*p=dt;printf("%d,"... #include<stdio.h>
struct ord
{
int x,y;} dt[2]={1,2,3,4};
main()
{struct ord *p=dt;
printf("%d,",++p->x);
printf("%d,",++p->y);
}

此题输出2,3
思路1:++p→x,指针变量p指向了x为1,指针在+1指向了2.
思路2:++p→x,指针变量p指向了x为1,取了x的值,在++x,x为2.

请问大家这两种思路哪个是对的??
展开
 我来答
参观西湖
2020-10-22 · 古籍有很多,写出来一起欣赏。
参观西湖
采纳数:919 获赞数:2313

向TA提问 私信TA
展开全部
思路2基本是对的。
第一个printf:p指向dt[0],dt[0].x=1,++以后得到2,输出。
第二个printf:p指向dt[0],dt[0].y=2,++以后得到3,输出。
因为,指针运算(->)的优先级比(前置++)高。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式