C语言 这题什么意思 为什么这么选

根据下面的定义,回答47、48题structtest{intml;charm2;floatm3;unionuu{charul[5];intu2[2];}ua;}myaa;... 根据下面的定义,回答47、48题
structtest
{ int ml; char m2; float m3;
unionuu {char ul[5]; int u2[2];} ua;
}myaa;
47.下面哪个选项能正确表示结构体变量的m1成员 ( A)
A)myaa.m1 B) test.m1 C)test->m1 D) myaa->m1
48. sizeof(structtest )的值是 (A)
A)12 B) 16 C) 14 D) 9

赋值语句x=j>0;是什么意思????
展开
 我来答
tianyuwuse
2014-02-08 · TA获得超过1117个赞
知道小有建树答主
回答量:494
采纳率:100%
帮助的人:241万
展开全部
47、答案为A
myaa是结构体变量,其成员的访问方式就是通过圆点运算符访问的。
其他的几个选项都是错误的,其中test.m1 因为test是结构体名不是结构体变量,所以这样的方式直接不对,C 因为test不是指针,所以该项错误。 D 如果myaa是结构体类型指针就正确,而它仅仅是结构体变量,所以不能用箭头运算符。
48、理论上结果为 12,也就是答案为 A ,结构体类型占用内存空间的大小由其每个成员所占用之和决定。它的成员共有四个,分别是 m1、m2、m3、ua。 其中m1占用2个字节(在VC环境下4个字节),m2占用1个字节,m3占用4个字节,ua的长度为其最大成员的长度也就是ul数组的长度5,所以加起来共12字节。
当然如果是在VC中测定的话为20(这与int型在内存中占用4个字节以及字节对齐有关)。
x=j>0的意思是把j>0这个表达式的值赋值给x,所以当j的值确实大于0时,j>0为真结果为1,即x获得值1,而如果j不 大于0时,结果为0.
林璟瑭
2014-02-08
知道答主
回答量:3
采纳率:0%
帮助的人:4385
展开全部
j>0若真x=1,若假x=0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式