vf二级考试试题

来源:百度知道 编辑:UC知道 时间:2024/06/08 22:47:57
下列程序执行以后,内存变量Y的值是(34567)
X=76543
Y=0
DO WHILE x>0
y=x%10+y*10
x=int(x/10)
ENDDO
能不能详细解释一下,
y=x%10+y*10 尤其是这个x怎么就从低位升到高位了

x%10是取x除以10的余数,也就是x的最低位上的数字
比如当x=76543时,x%10就是3
当x=7654时,x%10就是4

所以y=x%10+y*10可以解释为:
将y自乘10,再加上x最低位上的数字
y自乘10,就相当于把y整个往高位推,再把最低位变成x的最低位

然后做x=int(x/10)
就是把x除以10再取整,就相当于丢弃掉x的最低位
比如x=76543时,x除以10为7654.3
再取整就是7654

所以整个循环可以描述成:
首先把x的最低位加到y的后面
然后把x的最低位丢弃掉

一直循环到小于等于0为止