q=(++j)+(++j)+(++j); 应该输出多少

yaotong 2007-03-23 07:22:49
#include <stdio.h>
void main()
{
int i=5,j=5,p=0,q=0;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("p=%d,q=%d",p,q);
}
...全文
594 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
maggiemiao05230523 2007-03-24
  • 打赏
  • 举报
回复
个人观点:
程序员尽量不要写出这样的程序。违背了程序可读性原则。
zengjie_0_2001 2007-03-24
  • 打赏
  • 举报
回复
15,24
zzyjsjcom 2007-03-24
  • 打赏
  • 举报
回复
i++先返回 后加加 ;++i先加加 后返回

所以:k = (i++) + (j++); 相当于:
k = i+j;
i++;
j++

而 k = ++i + ++j 相当于:
++i;
++j;
k = i+j

而 k = ++i + j++ 相当于:
++i;
k=i+j;
j++

而 k = i++ + ++j 相当于:
++j;
k=i+j;
i++;

liangxingtianxia 2007-03-24
  • 打赏
  • 举报
回复
怎么这个程序用vc++6.0编译老是通不过啊?显示Compiling...
Error spawning cl.exe
shu_yoyo 2007-03-24
  • 打赏
  • 举报
回复
我觉得应该是:
p=15;
q=24;
LN526264300 2007-03-24
  • 打赏
  • 举报
回复
代码杂技,除了一些教科书中的程序外,什么程序会出现这种东西!
bargio_susie 2007-03-23
  • 打赏
  • 举报
回复
日经贴
lwen512 2007-03-23
  • 打赏
  • 举报
回复
是错的。

不同的编译器有不同的结果

这个是对
lwen512 2007-03-23
  • 打赏
  • 举报
回复
3j+3
mLee79 2007-03-23
  • 打赏
  • 举报
回复
日经贴
believefym 2007-03-23
  • 打赏
  • 举报
回复
据说不同的编译器有不同的结果,


怎么整天讨论这个问题
yd711 2007-03-23
  • 打赏
  • 举报
回复
p=15,q=24
laiwusheng 2007-03-23
  • 打赏
  • 举报
回复
p=15;
q=24;

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧