你猜~~~C++初学者问题

muximuxi525 2012-11-10 09:54:31
int test=2;
test=test++;
cout<<test<<endl;
最后输出时多少?请附带解释~~~
...全文
2229 62 打赏 收藏 转发到动态 举报
写回复
用AI写文章
62 条回复
切换为时间正序
请发表友善的回复…
发表回复
glorier 2013-05-31
  • 打赏
  • 举报
回复
引用 13 楼 hlfkyo 的回复:
肯定是3的。 int test=2;//初始化为2 test=test++;//++操作是在一条语句结束后才执行的。相当于 <test = 2; test++> 所以是3
是3
x_mart 2013-05-16
  • 打赏
  • 举报
回复
如果 test 是 自己定义的类的话,结果是2
Indes 2013-05-07
  • 打赏
  • 举报
回复
准备考二级?加油。
  • 打赏
  • 举报
回复
++运算符的优先级大于=运算符,应该先++,test=3,正常来说应该是3
please_call_me_J 2013-05-04
  • 打赏
  • 举报
回复
不知道哪种编译器编译出来等于2, 第二行代码给test赋值2了之后,执行了自增1, 结果输出为3猜对
mayzz618 2013-05-04
  • 打赏
  • 举报
回复
写出这种程序是没有意义的,除非就是纯粹为了考验人的。。。
badguoba 2013-04-26
  • 打赏
  • 举报
回复
vs2010 编译显示结果为:3
表和我重名 2013-04-25
  • 打赏
  • 举报
回复
2吧,这就相当于j=i++,然后把2赋值给j以后,i自加。j=2,i=3。不过这里面i和j的优先级真的不明白,就是两个test会先输出哪个。。。。坐等大牛。。
binglimomo 2013-04-24
  • 打赏
  • 举报
回复
3没错滴~~~
SONG_CA 2013-04-22
  • 打赏
  • 举报
回复
这样的讨论真的没有意义。 如果你知道test = test+1等于多少,同时你知道++操作符和=的优先级关系,你就知道答案是多少了。 我这的搞不明白现实中有这样的写法吗?写出一条很炫的、带有歧义的、让别人思考嘀咕半天代码的developer不是一个好的程序员。毕竟越简单的代码出错的概率就越低。
bigbaldy 2013-04-22
  • 打赏
  • 举报
回复
3
lc7229469 2013-04-22
  • 打赏
  • 举报
回复
应该是3 test=test++;这一句执行完后再执行++操作 即是先将2赋给test,再自加1 输出3
SevenShy 2013-04-21
  • 打赏
  • 举报
回复
zh6335901 2013-04-13
  • 打赏
  • 举报
回复
未定义行为,完全取决于编译器,没必要去讨论
chibuchiputaoa 2013-04-13
  • 打赏
  • 举报
回复
3啊,test开始等于2,++以后等于3啊
huapengfr 2013-04-10
  • 打赏
  • 举报
回复
3 不管怎么说,cout之前都执行了++操作
songyao407 2013-04-06
  • 打赏
  • 举报
回复
haltwang 2013-03-23
  • 打赏
  • 举报
回复
真无聊,楼主是要去考计算机二级么? 不是写这种代码干嘛,多加括号又不会死。 编码不是为了纠结这些玩意的。
longer552 2013-03-12
  • 打赏
  • 举报
回复
这是个赋值操作和++操作的优先级问题吧
砖家在此 2013-03-11
  • 打赏
  • 举报
回复
蛋疼的问题,输出看编译器了
加载更多回复(40)

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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