C++:若有以下说明和语句,则值为6的表达式是

C++:若有以下说明和语句,则值为6的表达式是
A)p++->n B)p->n++ C)(*p).n++ D)++p->n
struct st
{int n;struct st *next;};
struct st a[3],*p;
a[0].n=5;a[0].next=&a[1];
a[1].n=7,a[1].next=&a[2];
a[2].n=9,a[2].next='';
p=&a[0];
我看B,C,D都对。B:(p->n)=5,再++自然是6。C:(*P).n=5,那么++(*P).n=6。
D:p->n=5,那么++p->n=6了。为何答案是D
hyf_1006 1年前 已收到1个回答 举报

孤山一笑 幼苗

共回答了10个问题采纳率:90% 举报

这个题目充满错误,例如''不能用于赋值给next, 明明是linkedlist结构,++却是arraylist的操作方法
A,D都是典型的非常丑陋的代码风格,++这么迭用并不好

其实无非是考++和.以及->的顺序,如果是好的程序员,根本不会写成这样的丑陋代码,这种顺序也根本不需要考虑。这种题目,越做的多,程序员水平越低下

显然B, C, 是对的,至于D,老实说,真不知道表达式结果是什么,这种丑陋的代码从来没写过

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 2.196 s. - webmaster@yulucn.com