永发信息网

【struct】c语言的一道题若有以下程序段:structst{intn;int*m;};....

答案:2  悬赏:0  手机版
解决时间 2021-02-14 14:36
  • 提问者网友:暮烟疏雨之际
  • 2021-02-14 10:11
【struct】c语言的一道题若有以下程序段:structst{intn;int*m;};....
最佳答案
  • 五星知识达人网友:duile
  • 2021-02-14 11:15
【答案】 做题目一般是用排除法,比较容易.
  首先明确几点,p是指向结构体类型的指针,m是指向整形的指针,同时作为指针,想获得c的值即5,A和C可以同时排除:
  A中的结果是个指针,不可能是5
  C中语法错误,m是指针必须用->来访问
  B和D的区别就在前加加和后加加,p是个指针,对指针做加加运算会跳过一个数据位,而数据位大小取决于p的类型,这里会跳过一个st结构体大小,p初始时指向s[0],加加之后会指向s[1],s[1]中的m指向的值正是我们需要的,显然前加加更适合,我们需要的就是加加立即生效.
  至于你说的那个p++->和(p++)->的区别,没试过我无法回答你,我只能告诉你没人会这样写,如果需要自加运算,必然会加括号,属于不成文的规范.其实很多时候不用太纠结这些太细的东西.
全部回答
  • 1楼网友:玩家
  • 2021-02-14 11:44
哦,回答的不错
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯