c++题目,求大神写详细过程

第一张图中18如何得来?全局变量2在题目中是不是没用?为什么a+=b的a的值是用中间程序的15?
第二张图没看懂,希望可以详细解释一下过程

第一题,
first是3,2这个没问题
进入之后,临时变量a(此时,外部的a不生效了)
second就是5,15,这里要注意,b还是上面的b,所以这个15是带到third的
所以thrid的a是18,b还是15。估计你是没注意,从头到尾只有一个b
第二题太模糊了,看不清楚啥追问

第一题first应该是3 3,因为逻辑或遇到1就直接输出了,后面那个条件不用执行了呀

追答

额,第一题的图上那是个|啊,还以为是个{,不过不影响后面的,后面的b已经被赋值语句重置了
第二题的第一个空,也可以这么写
int s = 0;
for(; x>0; x/=10),这么写你大概就理解了,这个循环跟s无关,就是纯粹把x进行取余操作然后把余数加在s对应的数位上(s从0开始)然后等待下一次循环的时候左移(十进制的左移就是*10)。你理解一下,比如321,第一次循环就获得了1,第二次循环,1左移,然后加上2,第三次,12都左移再加上3。
第二题第二个空,是确保n输入的是大于0的数的意思
第三个空的意思是,如果不能使得n+invert(n)返回一个回文数,就持续这个过程。根据猜想,只要不断让自己+自己的反序数就一定会获得一个回文数,所谓的获得了回文数就是n==invert(n)的意思。

追问

真的很详细,马上采纳了,我还想最后弱弱问一句图一程序中另一个程序段a,b的值算完都会对外程序影响是吗

温馨提示:答案为网友推荐,仅供参考
相似回答