设为首页 加入收藏

TOP

C语言中的加加减减(七)
2014-02-08 12:44:22 来源: 作者: 【 】 浏览:733
Tags:言中 加加减

 

  执行结果:

  说明:*p++先计算*p将*p的值输出后p自增1

  所以在第二个printf中打印的是a 的值

  *p--先取指针p指向的值,再将指针p自减1

  [cpp] view plaincopy

  #include

  int main()

  {

  int a = {1,8,10,5,2};

  int *p;

  p = &a ;

  printf("%d\n",*p++);

  printf("%d\n",*p);

  return 0;

  }

  执行结果:

  说明:*p--先计算*p将*p的值输出后p自减1

  所以在第二个printf中打印的是a[0]的值

  (*p)++ 先取指针p指向的值(以p为内存地址的值),再将该值自增1

  [cpp] view plaincopy

  #include

  int main()

  {

  int a = {1,8,10,5,2};

  int *p;

  p = a;

  printf("%d\n",(*p)++);

  printf("%d\n",*p);

  return 0;

  }

  执行结果:

  说明:p = a;

  *p = a[0];

  *(p)++ = a[0] + 1;

  但是因为i++是先参与运算后自增1

  所以第一个printf()输出的是*p的值1

  第二个Printf()输出的是*p+1的值 2

  (*p)-- 先取指针p指向的值(以p为内存地址的值),再将该值自减1

  [cpp] view plaincopy

  #include

  int main()

  {

  int a = {1,8,10,5,2};

  int *p;

  p = a;

  printf("%d\n",(*p)--);

  printf("%d\n",*p);

  return 0;

  }

  执行结果:

  说明:p = a;

  *p = a[0];

  *(p)-- = a[0] - 1;

  但是因为i++是先参与运算后自增1

  所以第一个printf()输出的是*p的值1

  第二个Printf()输出的是*p-1的值 0

  *++p先将指针p自增1(此时指向第二个元素) *操作取出该值

  [cpp] view plaincopy

  #include

  int main()

  {

  int a = {1,8,10,5,2};

  int *p;

  p = a;

  printf("%d\n",*++p)

  return 0;

  }

  执行结果:

  *--p先将指针p自减1(此时指向第一个元素) *操作取出该值

  [cpp] view plaincopy

  #include

  int main()

  {

  int a = {1,8,10,5,2};

  int *p;

  p = &a ;

  printf("%d\n",*--p);

  return 0;

  }

          

首页 上一页 4 5 6 7 下一页 尾页 7/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇const常量与define宏定义的区别 下一篇C语言中的联合体和结构体

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: