易截截图软件、单文件、免安装、纯绿色、仅160KB

C中的++,请帮忙解释一下

int a=2;
int i;
        i=(a++)+(++a)+(a++)+(++a)+(a++);
    printf("%d",i);


结果是20,请解读



这已经不是月经贴了,谁统计过今天出现了几次…………
我撞墙

既然你见过很多,那你给一个地址我好吗?我去看就是了,不用撞墙。

哇,又是这种问题

这是未定义行为……
等于多少,这个要看编译喜欢怎么干……

此类问题,标准答案就是“不知道它会等于多少,它等于多少都有可能,都不违背标准,但是不应该写这样的代码”……

如果楼主想知道为什么在自己的机子上执行结果是20,请自行查看反汇编……

结果不确定,不同的编译器有不同的解读

如果我说是在VC下呢?

vc6可能跟vc7的结果不一样
vc7可能跟vc8的结果不一样
vc8可能跟vc9的结果不一样
vc9可能跟vc10的结果不一样

vc10的debug版可能跟vc10的release版不一样……

楼主想知道具体的为什么,请自行查看反汇编……

引用
vc6可能跟vc7的结果不一样
vc7可能跟vc8的结果不一样
vc8可能跟vc9的结果不一样
vc9可能跟vc10的结果不一样

vc10的debug版可能跟vc10的release版不一样……

楼主想知道具体的为什么,请自行查看反汇编……

经典……

不就是要弄清楚:++i和i++ 的区别吗



可恶啊~~

要向版主们建议一下放个 FAQ 在置顶区……

我要是老板谁这么写程序立马扣工资~~

这个帖子有点怪~~~


相关问答:

c基础

#include <string.h>
#include <stdio.h>

void main()
{
int i;
char buf[]="abcde";
strncpy(buf,"abc",3);
for(i=0;i <5;i++)
printf(&q ......

关于字符串的C面试题

给一个字符串、例如 “ababc”要求返回“ab”. 因为“ab”连续重复出现且最长。  用C/C++语言写一函数完成该算法,给出复杂度
这个题我不会

C/C++ code:

#include <iostream>
#include <s ......

文件问题?C大侠请进

在C语言中如何打开一个已知的文件。如打开名为add.txt的文件假设它在C:\\Promgram Files\add.txt.要求打开时不改变其里面的内容。高手请解答下啊
fopen( "C:\\Promgram Files\add.txt" , "rb" ......

帮忙把下面个c函数转成c#的

const int num=100
float neiji(float [num]b, float [num]c)
        {
            int p;
            float nj ......

mysql C API求助

写了一段程序
C/C++ code:

..
MYSQL* mysql;
MYSQL_RES* res;
//我想实现一个查看有没有 mysql结构,如果没有就连接。
void connect()
{
mysql_init(mysql);
mysql_realconnect(. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号