关于一个变量在不同环境下自增自减的问题。#include<stdio.h>int main()
{int x = 8;int y = 0;y = (++x) + (x++) + (++x);printf("%d\n",y);return 0;
}在Linux环境下,输出的结果是是28,但是在Windows环境下,输出的结果却是30,这就和“++x”和“x++”有关了。
首先我们知道,“x++”是先把值参与运算以后,自身再进行加一的,而“++x”是自身先加一再参与运算。
在Windows中,它的计算机制是,先扫描一遍y = (++x) + (x++) + (++x);这个式子,然后把其中的“++x”都自加完成后,这个时候x也就等于10,然后再进行运算。得出来的答案也就是30。
而在Linux中,它的计算机制是,从左到右依次运算,它遇到第一个“++x”的时候,它就去判断第二个式子“x++”,然后把“x++”和“++x”加起来,这个时候x就等于9,因为还没有运算到第二个“++x”,前两个式子加起来等于18,然后再和第二个“++x”运算,所以最后在Linux环境下,得出来的y等于28,就和Windows下的运算结果不一样。
最后,当你要计算“x++”和“++x”的时候,一定要看清楚运行的环境到底是在Linux还是Windows。

关于C语言中“x++”和“++x”的问题相关推荐

  1. Go 知识点(19)— Go 语言中的野指针

    野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...

  2. c语言中字符串数组的地址存放以及%s输出单个字符导致程序崩溃的问题

    代码 总结下c语言中字符串数组的地址存放问题 #include <iostream> using namespace std; #include<bits/stdc++.h>i ...

  3. 单片机c语言中的循环语句,单片机c语言教程:C51循环语句

    循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...

  4. python调用什么函数实现对文件内容的读取_如何使用python语言中的方法对文件进行读写操作...

    在我们使用python语言中的文件时,可以使用open()方法打开文件,close()方法关闭文件,read()方法读取文件内容,write()方法写入内容到文件中.下面利用几个实例说明文件读写方法, ...

  5. 如何用C语言改变宏定义的大小,C语言中宏定义使用的小细节

    C语言中宏定义使用的小细节 #pragma#pragma 预处理指令详解 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#p ...

  6. C语言中的指针和内存泄漏

    对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏.这些的确是消耗了开发人员大多数调试时间的事项.指针和内存泄漏对某些开发人员来说似乎令人畏惧,但 ...

  7. C语言中连续调用rand函数,返回值不变

    C语言中连续调用rand函数,返回值不变 最近用C语言随机函数编程发现了一个奇怪的现象: 简易版代码: #include<stdio.h> #include<stdlib.h> ...

  8. (mfc)将字符串中的字符逐个按行输出_C语言中字符串输入输出

    在C语言中没有字符串类型,用字符数组处理字符串 定义 字符数组定义:char 数组名 [常量表达式][常量表达式] 一维字符数组,用于存储和处理一个字符串 . 二维字符数组,用于同时存储和处理多个字符 ...

  9. c语言中的普通字符包括什么,【判断题】C语言中的字符常量通常有两种形式:普通字符和转义字符。...

    [判断题]C语言中的字符常量通常有两种形式:普通字符和转义字符. 更多相关问题 ---Can you speak French?---Yes, but only____.A.a littleB.lit ...

  10. 关于C语言中 字符串常量的问题

    昨天晚上我编写了一段简短的C语言程序(Linux环境下),编译能够通过,但是运行的时候老是报段错误.我当时非常郁闷,因为代码不长.其中主函数中有这样一句话: char *str="epmzm ...

最新文章

  1. c#获取父类_C#——父类中的this的指向,及用反射获取当前类所在的Type | 学步园...
  2. Orleans解决并发之痛(四):Streams
  3. get+php+mysql_Apache+PHP+MySql 的安装及配置
  4. MT7628如何控制GPIO
  5. 关于不使用漫游配置文件解决方案保持登陆域后保持原来的配置文件不变
  6. python中pass的使用_Python中pass语句的作用
  7. 关于ajax表单提交.serialize()
  8. swift. 扩展类添加属性_IOS_Swift中用到extension的一些基本的扩展功能讲解,现有的类,结构或枚举类型的 - phpStudy...
  9. SWMM[Storm Water Management Model]模型代码编译调试环境设置
  10. 自学按键精灵写脚本,非常有用的一个函数
  11. 小程序搜索,风暴之眼
  12. 关于阿里矢量图标的普通无色和彩色的使用方法
  13. (小米系统系列三)刷机成功后卡在开机引导页,将电脑设置成热点,给手机提供验证网络的方法
  14. java 摄像头 视频_javaCV-摄像头实时视频
  15. Mysql-如何建表更符合业务
  16. 分享系列--面试JAVA架构师--链家网
  17. php如何实现众筹,PHP众筹系统这三点一定要注意
  18. python宿舍管理系統毕业设计源码231642
  19. 【Java分享客栈】我有一个朋友,和前端工程师联调接口被狠狠鄙视了一番。
  20. 在linux中,命令 nc -lk 和nc -lp 的区别是什么

热门文章

  1. centos7连接外网详细教程
  2. 键盘钢琴软件v1.0.1.0官方pc版
  3. 慧荣SM2246主控固态硬盘开卡一直pretest解决方法
  4. Python报错:PermissionError: [Errno 13] Permission denied解决方案详解
  5. May 18:PHP 函数
  6. mtkgpio中断控制器_MT2523芯片参考手册
  7. 关于APP inventor 2 模拟器AI伴侣版本不一致的问题解决
  8. 同花顺的故事(7)业务逻辑相关
  9. 【其它】visio画泳道图/跨职能流程图
  10. 1000!末尾 有几个0