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版不一样……
楼主想知道具体的为什么,请自行查看反汇编……
经典……
不就是要弄清楚:++i和i++ 的区别吗
可恶啊~~
要向版主们建议一下放个 FAQ 在置顶区……
我要是老板谁这么写程序立马扣工资~~
这个帖子有点怪~~~
相关问答:
#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 ......
给一个字符串、例如 “ababc”要求返回“ab”. 因为“ab”连续重复出现且最长。 用C/C++语言写一函数完成该算法,给出复杂度
这个题我不会
C/C++ code:
#include <iostream>
#include <s ......
在C语言中如何打开一个已知的文件。如打开名为add.txt的文件假设它在C:\\Promgram Files\add.txt.要求打开时不改变其里面的内容。高手请解答下啊
fopen( "C:\\Promgram Files\add.txt" , "rb" ......
const int num=100
float neiji(float [num]b, float [num]c)
{
int p;
float nj ......
写了一段程序
C/C++ code:
..
MYSQL* mysql;
MYSQL_RES* res;
//我想实现一个查看有没有 mysql结构,如果没有就连接。
void connect()
{
mysql_init(mysql);
mysql_realconnect(. ......