帮忙算道题,
来源:百度知道 编辑:UC知道 时间:2024/06/07 02:33:17
num1=(++num2)+(++num2);
num1=(++num2)+(++num2)+(++num2);
num1=(num2++)+(num2++);
求num1?
大家帮忙拉,我刚学没弄明白.
能详细点帮我解答这题吗? 谢谢了.
记住规律++x,则先算x递增
x++,则在表达式中x不变,运算过后x递增
楼上的好像错了
num1 num2
24 12
45 15
30 17
num1=(++num2)+(++num2);
23 12
num1=(++num2)+(++num2)+(++num2);
42 15
num1=(num2++)+(num2++);
30 17
第二行:num1 = 11+12 num1 = 23 执行完这句num2 = 12
第三行:num1 = 13+14+15 num1 = 42 执行完这句num2 = 15
第四行:num1 = 15+16 num1 = 31 执行完这句num2 = 17
所以num1最终值为31
int num1,num2=10
num1=(++num2)+(++num2);
num1=(11)+(12);此时num2=12
num1=(++num2)+(++num2)+(++num2);
num1=13+14+15; 此时num2=15;
num1=(num2++)+(num2++);
num1=15+16; 执行完本表达式后,num2=17,因为num2++是后置式,当前值依然是num2,而下一个表达式执行的时候它才会变为num2+1
求num1?
num1=31
因为正好开着tc,就把你的复制进去编译了下,答案是
24,12
45,15
30,17
具体程序没看呵呵,就帮大家算算得数.3楼好象是对的。
-------------
补充一下,++a的意思是每次运算的时候他先做a=a+1,然后用新值参加这次运算。
num1=(++num2)+(++num2);
这里面+算是一次运算,所以得数并不是11+12,而是11+13