一个很有意思的面试题

xiaanming 2012-12-19 06:32:55
public class Test{
public static void mian(String[]args){
int i = 5;
int j = 5;

System.out.println((i++)+(i++)+(i++));
System.out.println(i);
System.out.println((++j)+(++j)+(++j));
System.out.println(j);
}
}
上面的值分别是多少?


然后再C语言中
#include<stdio.h>
int 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);
}
这上面的又是多少呢?结果出来你会发现一个问题
...全文
329 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
snow-is-my-Love 2012-12-20
  • 打赏
  • 举报
回复
龙爷一语道破,无需再解
tsplaycool 2012-12-19
  • 打赏
  • 举报
回复
这叫有意义?最烦出这种题的sb,真正写代码,你能这样写?写出这种代码,你不被炒?
wsyangzuda 2012-12-19
  • 打赏
  • 举报
回复
没什么好解释,看值入栈的顺序
121yun_Melody 2012-12-19
  • 打赏
  • 举报
回复
这个。。。。
sjlzcj 2012-12-19
  • 打赏
  • 举报
回复
出这题的人 真J8蛋疼
yl459701711 2012-12-19
  • 打赏
  • 举报
回复
求解啊
龙四 2012-12-19
  • 打赏
  • 举报
回复
随便搜索一下,到处都是:http://bbs.csdn.net/topics/370100156
龙四 2012-12-19
  • 打赏
  • 举报
回复
c++/c中对于这样的算式顺序是未知的,随编译器而定 用vc是一种结果,用其它编译器可能是另一种结果
白开水MD5 2012-12-19
  • 打赏
  • 举报
回复
JAVA 18 21 8 8 C++ 15 22 8 8 这个不知道是为什么是22,大神来解释一下?
wangdi620 2012-12-19
  • 打赏
  • 举报
回复
两个运行结果一样的,不因为语言改变而改变 18 21 8 8
Jordan37 2012-12-19
  • 打赏
  • 举报
回复
java的结果: 18 8 21 8 c语言的结果: 15,24,8,8
  • 打赏
  • 举报
回复
我只知道java的是18 8 21 8

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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