欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當前位置:主頁 > 軟件編程 > C語言 >

C語言中6組指針和自增運算符結合方式的運算順序問題

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

在C語言中,當指針運算符和++或者–結合時很容易分不清運算順序,在這里總結一下,下面一共分析6中組合: * p++,(* p)++,* (p++),++* p,++( * p), * (++p)。

先看段代碼以及輸出:

#include<stdio.h>
int main()
{
  int a[3]={1,3,5};
  int *p=a;
  printf("----------------1----------------\n");
  printf("%d\n",*p++);
  printf("%d\n",*p);
  int i;
  for(i=0;i<3;i++)
    printf("%d ",a[i]);
  printf("\n");
  printf("----------------2----------------\n");
  p=a;//reset data
  printf("%d\n",(*p)++);
  printf("%d\n",*p);
  for(i=0;i<3;i++)
    printf("%d ",a[i]);
  printf("\n");
  printf("----------------3----------------\n");
  a[0]=1;//reset data
  p=a;
  printf("%d\n",*(p++));
  printf("%d\n",*p);
  for(i=0;i<3;i++)
    printf("%d ",a[i]);
  printf("\n");
  printf("----------------4----------------\n");
  p=a;
  printf("%d\n",++*p);
  printf("%d\n",*p);
  for(i=0;i<3;i++)
    printf("%d ",a[i]);
  printf("\n");
  printf("----------------5----------------\n");
  p=a;
  a[0]=1;
  printf("%d\n",++(*p));
  printf("%d\n",*p);
  for(i=0;i<3;i++)
    printf("%d ",a[i]);
  printf("\n");
  printf("----------------6----------------\n");
  p=a;
  a[0]=1;
  printf("%d\n",*(++p));
  printf("%d\n",*p);
  for(i=0;i<3;i++)
    printf("%d ",a[i]);
  printf("\n");
  return 0;
}

輸出結果是這樣的:

第一組:*p++,它的運算順序是先返回 *p的值,然后p再++。
第二組:(*p)++,他的運算順序是先返回 *p的值,然后 *p的值再++,這一點從運算后的數(shù)組a的值可以看出來。
第三組:*(p++),運算順序是先返回 *p的值,然后p再++,也就是說它和 *p++的運算順序一樣。

這三組都是先返回 *p的值,區(qū)別就在于到底是p++還是 *p的值++。

第四組:++*p,先將 *p的值++,然后再返回 *p的值。
第五組:++(*p),先將 *p的值++,然后再返回 *p的值,所以它和++ *p是一樣的。
第六組: * (++p),先將p的值++,然后再返回 * p的值,和 *++p是等價的。

這三組的特點是最后都是返回 *p的值,不同點在于是 *p先++還是p++。

以上就是本文的全部內(nèi)容,希望大家可以喜歡。

上一篇:C語言之從字符數(shù)組中刪除特定的字符

欄    目:C語言

下一篇:如何在C++中通過模板去除強制轉換

本文標題:C語言中6組指針和自增運算符結合方式的運算順序問題

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2950.html

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權所有