2 wchoujay WChouJay 于 2016.09.23 17:28 提问

非要有个标题才能发布

#include

using namespace std;

int main()
{
unsigned char a[3];
a[0] = 251;
a[1] = 3;
a[2] = 0;

int i = 0;
cout << a[i++] + a[i++] * 256 << endl;

}
在redhat6.1中结果和vs2013中是64507,而在cetos中是1019,求解答

2个回答

caozhy
caozhy   Ds   Rxr 2016.09.23 23:54

这个是编译器未定义行为,所以结果不确定

http://blog.csdn.net/a_ran/article/details/42454025

seeze
seeze   2016.09.23 18:24

从结果倒推可知两种编译器对i++的处理方式不一样
前两者都是语句结束后才自增(相当于a[0] + a[0] * 256)
后者直接自增(相当于a[0] + a[1] * 256)

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
15个教徒和15 个非教徒在深海上遇险
/*这是17世纪的法国数学家加斯帕在《数目的游戏问题》中讲的一个故事:15个教徒和15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人围成一圆圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,如此循环进行直到仅余15个人为止。问怎样排法,才能使每次投入大海的都是非教徒。*/ #include <stdio.h> void main() {
VS2010 创建MFC工程报错 rcxdti.dll无法加载rcxdtiui.dll
将rcxdtiui.dll拷贝到C:\Program Files\Microsoft Visual Studio 10.0\VC\vcpackages\2052下后创建成功
SQL Server 复制需要有实际的服务器名称才能连接到服务器--解决方法
在进行sqlserver复制的时候,我的情况是这样的,我在本地的management studio里连接了一个远程的sqlserver数据库服务器,用的不是默认端口号,也没有开browser服务,而且是命名实例,非默认实例,所以连接的服务器名得用abc\abcserver,port这样的模式来连,然后配置它的复制分发(包括新建发布等等跟复制有关的操作),程序会报这样两个错误信息: SQL S
解决VS2017"需要RCXDTI.DLL才能编译DESIGNINFO资源"的问题
 这两天一直在纠结这个问题,网上有说道相关的解决办法,都无效,之后用depends查看RCXDTI.DLL相关链的动态dll,发现mfc140.dll(只针对本人的)未加载,把32位的mfc140.dll放置到系统SysWOW64下即可解决。希望对大家有所帮助。另外depends很有用,包括解决0x0000007b的问题,对于码农来说,这类问题多数是由工程项目从32位升级到64位后所致,
VS中查看资源视图时提示需要RCXDTI。
不知道是xp的问题,还是VS得问题,反正就是这样: 在文件中找到如下代码: #ifdef APSTUDIO_INVOKED GUIDELINES DESIGNINFO BEGIN     IDD_ABOUTBOX, DIALOG     BEGIN         LEFTMARGIN, 7         RIGHTMARGIN, 163
SQL Server复制需要有实际的服务器名称才能连接到服务器
服务器上安装的WIN2008 R2,然后没有在意机器名,安装了SQL2008 R2数据库之后,配置AD域的时候修改了机器名。   然后,开始配置数据库镜像同步的时候,先试了下数据库复制发布,结果提示“SQL Server 复制需要有实际的服务器名称才能连接到服务器。不支持通过服务器别名、IP 地址或任何其他备用名称进行连接。请指定实际的服务器名称...”,如下图所示。   网上查了下,有同
Visual Studio 2015: rcxdti.dll is unable to load rcxdtiui.dll
最近在win7上安装了vs2015企业版,安装完成后,新建MFC对话框项目时弹出错误“rcxdti.dll is unable to load rcxdtiui.dll. You may be unable to edit Win32 Resources.",但是关闭该错误提示框,不影响使用。         错误提示框如下所示:              结决该问题的方法是:将”C:\
Visual Studio(MFC) 警告:需要有 dll 接口由 class“XXX的客户端使用
暂时,未找到解决方法。但此警告亦未发现对项目有影响。
腾讯2013实习生笔试题+答案
一、 单项选择题 1) 给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项() Int a1=x+y-z; int b1=x*y/z; Int a2=x-z+y; int b2=x/z*y; Int c1=x Int c2=x>>z A) a1一定等于a2 B) b1一定定于b2 C) c1一定等于c2 D) d1一定等于d2 2) 程序的完整编译过程分为
Web项目程序怎么发布部署
1.在要发布的项目上右键,选择发布; 2.新建配置文件,输入文件的名称; 3.在Web对话框中,选择发布方法为文件系统; 4.选择要发布的路径然后点击发布; 5.在发布路径下,已经生成了发布的文件系统然后就可以在IIS上发布网站了;