作者yantchen (球童Yanting)
看板NTUE-CS101
标题Re: [课业] C++
时间Mon Nov 10 21:24:03 2008
: Q: 请写出下面程式码显示在萤幕上的结果
: int i=10,j=5;
: cout<<i*j-++i;
: cout<<i;
: 答案是 3911 喔 ( 没有 endl 所以不换行 )
: 程式码由左往右读
: i*j-++i; ( i=10,j=5 )
: 10*5-++i; ( i=10,j=5 )
: 50-++i; ( i=10,j=5 )
: 50-i; ( i=11, j=5 )
: 39; ( i=11, j=5 )
囧
DEV C++ ( G++ ) 跑出来的结果是 3911
Visual C++ 跑出来的结果是 4411
Dev 的想法是我上面打的那个
Visual C++ 的想法是
cout<<i*j-++i;
先做++i
i*j-i ( i=11, j=5 )
11x5-11 = 44
嗯 .. 这题算争议题 ... 王老大考出来的话我会叫他两个都给对 ︿( ̄︶ ̄)︿
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.68.15.209
1F:推 linjrming:++应该优先权在乘法前面 所以4411也许是较正确解 11/10 21:32
2F:→ yantchen:其实这种语法 笔试才会考 一般写程式会尽量避免吧 11/10 21:40
3F:推 linjrming:这种题目说实在的也没有什麽意义 11/10 21:46
4F:→ linjrming:不同的编译器有不同的规则 11/10 21:46
5F:→ yantchen:谢谢毛妹提醒 课本p4-9的那个程式也是dev/vc会跑不同结果 11/10 23:36
6F:推 feather427:今晚再一次谢谢学长!! :D 超好的哈哈哈哈哈哈 11/11 00:46
7F:→ rockmyangel:谢谢学长 我考得不错喔 11/18 15:58