C语言二级的题

答案的s->s>a[i].s这个怎么理解我知道是两个在比较大小为什么要s->s这样还有a[i]为什么多了个.s... 答案的s->s>a[i].s这个怎么理解
我知道是两个在比较大小
为什么要s->s这样 还有a[i]为什么多了个.s
展开
 我来答
Yuqi_Tan

2019-02-20 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3450万
展开全部
程序定义了一个结构体变量类型STU,每一个STU型变量包含两个子变量:char型的num[10]和int型的s。
在fun函数中,有两个参数,分别是STU型的数组变量a[]和STU型的指针变量s。
由于数组a是STU型的,数组a的每一个元素(如a[0])中都包含两个子元素(num和s),c语言规定这两个子元素分别用点号表示,如a[0].num、a[0].s。这就是.s的由来。
对于s这个指针,同样它也是STU型的,当它指向数组a的某一个元素(如a[1])时,仍然可以选择它指向的a[1]的哪一个子元素,c语言也规定了表示方法,那就是->,如用s->num代表num子元素(即a[1].num),s->s代表s子元素(即a[1].s)。
注意:变量用.号,指针用->号,不能用错。
另外,你发的第三张图是什么意思?
金色潜鸟
2019-02-21 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5680万
展开全部
通过 typedef 定义了 变量类型 STU, STU 类型 是 结构,它有2个成员 {char name[10]; int s;}
函数 fun 有2个形式参数,函数参数1是 STU a[], 函数参数2是 STU *s。
a[] 是 STU 类型 数组,即 结构数组。 fun函数内,a[i] 是 一个(结构数组的)数组元素,下标 i。a[i] 是一个结构,它的 成员int s 的值, 按语法, 用 a[i].s 表示。
*s 是 STU 类型的指针,fun函数内 s 是一个指针,指向一个STU 类型的结构,它的 成员int s 的值, 按语法, 用 s->s 表示。
(s->s > a[i].s) 就表示 形式参数2传来的结构s的成员int s 的值 与 形式参数1传来的 结构数组a[]的第i个元素的成员int s 的值 比较大小。
if (s->s > a[i].s) *s = a[i]; 如果条件成立,就把 结构数组a[]的第i个元素,即 a[i] 结构 的 值 赋给 *s 结构。(语句中*s 是值,语句中 s 是地址)。
结构体赋值,即把一个结构的所有的成员数值,传递给另一个结构。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2019-02-19 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7794万
展开全部
两个都是结构体指向成员
前一个是指针形式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式