下面的程序在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\n",++p->y);
}
尤其是printf("%d.",++p->x); printf("%d\n",++p->y);是什么意思啊?小弟先谢谢了!!
展开
 我来答
永恒的爱12345
2009-09-07 · TA获得超过469个赞
知道小有建树答主
回答量:247
采纳率:0%
帮助的人:259万
展开全部
struct ord 是定义一个结构体类型 定义后struct ord就是一个类型(就和 int 一样)

dt 是这个结构体的变量名 这个变量又是一个数组 它的类型就是 struct o

struct ord *p=dt 是在声明一个指针类型 指针 p 的初始值为 数组 dt 的首地址 也就是 dt[0的地址]

++p 是将首地址向下移动一个位置 再赋给 p 则现在 p 的值为 dt[1] 的地址 p->x 是将 p 所在的地址中的值给 x 即 x = 2 第一条语句输出 “2.”

第二条语句的推理和上面一样 即输出 3
因为没有别的语句使光标移动 所以两者合在一起就是 2.3
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式