回 帖 发 新 帖 刷新版面

主题:Help!!!

void main(){
 int i=5,j=5,p,q;
 p=(i++)+(i++)+(i++);
 q=(++j)+(++j)+(++j);
 printf("%d,%d,%d,%d",p,q,i,j);
}

This Procedures's results is 15,24,8,8!
why?

此帖转自:[url]http://www.programfan.com/team/team.asp?team_id=1306[/url]

回复列表 (共2个回复)

沙发


p=i++; 等价于 p=i;i=i+1;
而 p=++i; 等价于p=i+1;i=i+1;
i++是先使用后加1,++i是先加1后使用
慢慢想通去吧

呵呵,欢迎光临我的网站,学生创业联盟[url=http://online366.cctve.cn/]http://online366.cctve.cn/[/url]

板凳

2楼的朋友,你讲的有点不尽人意啊!
自加自减运算是人都知道!
对于q=(++i)+(++i)+(++i);按传统的自加的话,i先加1再进行运算就是3个6相加等于18啊!

我来回复

您尚未登录,请登录后再回复。点此登录或注册