C语言基础,有几个问题想请教学霸和老师?

第一题:若int a=6,b=4,c=2,则表达式 !(a+b)+c-1&&b+c/2的值是?
答案是1,但是具体过程无法理解为什么是等于1。
第二题:对于一个有向图,若一个顶点的入度为K1,出度为K2,则对应邻接表中该顶点单链表中的节点数为?
答案是K2,为什么是等于K2?
我不太容易理解,请详细解答,谢谢!

第1个回答  2021-10-15
只能解决第一个问题,因为第二问题我没有看懂
!(a+b)+c-1&&b+c/2这个表达式是一个逻辑表达式,逻辑表达式的结果只能为0或1
整个计算过程可以按远算符的优先级来。
第2个回答  2021-10-14

      !(a+b)+c-1 && b+c/2 是逻辑表达式

    先运算 !(a+b)+c-1, a+b=10 表示逻辑真, 用!取反之后得到逻辑假, 也就是 0, 然后 !(a+b)+c-1 = 0+2-1 = 1, 这部分表示逻辑真

    再运算 b+c/2 = 4+2/2 = 5, 也表示逻辑真

    所以两部分用 && 作用之后还是逻辑真, 按 C 语言标准, 这个逻辑表达式的值为 1 (类型为 int).

    有向图的表示方法不唯一, 从你的答案来推断, 这里的表示方式是对每个节点存贮由该节点出发的边, 所以链表的长度等于该节点的出度.

本回答被提问者采纳
第3个回答  2021-10-14
第一个问题,他是一个逻辑表达式,运算的过程是先分别计算两边的子表达式,由于两者都成立,所以都为真,1&& 1的值就是1。
第二,有向图邻接表中某顶点的节点数就等于它的出度。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网