微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题再谈《C语言中自加(减)运算符使用的一小疑问》
栏目外设类维护与维修
发布1996-12-13
  1.当表达式赋于某个变量时,计算机把i的原值(3)取出来,作为表达式中i的值,因此先进行三个i相加得9。若表达式为(++i)+(++i)+(++i),当赋于某个变量时,由于++i的自加是在整个表达式求解一开始时最先进行,即对表达扫描,先对i进行三次自加,i得6,然后进行(6+6+6)的运算,故得18。再看一个例子k=(++i)+(i++)+(++i),i初值为3此时k为多少呢?先对i进行二次自加得5,然后进行k=5+5+5=15。
  2.若表达式作为函数参数时,则Turbo C规定函数参数的求值顺序是自右而左。例如:
  i=3;
  printf("k=%d,i=%d\n",(i++)+(i++)+(i++));
  此时(i++)+(i++)+(i++)=5+4+3=12
  同时读者可算出:
  表达式(++i)+(++i)+(++i)=6+5+4=15
  表达式(++i)+(i++)+(++i)=6+4+4=14
  表达式(++i)+(i++)+(i++)=6+4+3=13(福建  林颖贤)