C语言的结构体的一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 21:45:54
struct num
{int a,b;} s[]={{1,6},{2,3}},*p=s;
执行语句printf("%d",p->b/s[1].a*++p->a)输出的值是:6

这里的p->b和p->a 会取到什么值啊!运算顺序是怎么样的?

p->b=6
p->a=1
下面就是赋值了
s[]={{1,6},{2,3}},*p=s;
意思就是定义一个数组,然后让指针p指向s。

我学的不好
自学了皮毛
++p是现把指针指向s{2}
在输出s{2}的值