爱问知识人 爱问教育 医院库

c语言的问题:

首页

c语言的问题:

y=*ptrx++;的运算顺序是怎样的?  
y=*(ptrx++);


书上说它们是一样的,我感觉郁闷,大家认为呢?

提交回答
好评回答
  • 2007-06-19 16:42:34
    是一样的,对p++, 别人说是"先用再加",所以, y=*ptrx++;自然是把*ptrx的值赋给y, ptrx再加++. y=*(ptrx++); (ptrx++)表示ptrx"先用",用来干嘛? 跟*结合,还是y=*ptrx,再++; 你一定不信,只好给个测试例子给你看了:
    #include 
    void main() 
    { 
    int a[3]={1, 2, 3};
    int y1, y2;
    int* p;
    p = a; 
    y1 = *p++;
    p = a;
    y2 = *(p++);
    printf("%d ", y1);
    printf("%d \n", y2);
    getch();
    }
    输出结果一样

    f***

    2007-06-19 16:42:34

其他答案

    2007-06-17 20:39:15
  • *优先于++
    这是看运算符哪个优先,就先做哪部分
    y=*ptrx++;的运算顺序是怎样的? 先计算*在计算++
    这是PTRX指的内容加1
    y=*(ptrx++);        这个与上面的相反
    这是PTRX的地址加1,在取里面的内容
    这两个是不一样的
    如果满意了,别忘加分啊,5555555555~~~~~~

    b***

    2007-06-17 20:39:15

类似问题

换一换
  • 程序设计 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):