任何人都可以向我解释为什么输出以下程序,如果输入值:5,222,2043,29,2,20053是22222?我试图在纸上解决它,但我无法得到这个结果。
Select
veh.uuid,
veh.license_plate,
fue.fuel_tank
From
Fueling fue,
Vehicle veh
Where
veh.uuid = fue.uuid AND
fue.uuid not in (Select distinct uuid from Fueling where fuel_tank like "t")
答案 0 :(得分:1)
你的while循环每次将x除以10。既然你正在处理整数,那只会将十进制数字向右移动:7234 -> 723
。
这样做直到它小于10,或者换句话说,剩下一个(第一个)数字:7。然后它再次乘以10 ^(乘以10):7000。
这意味着你的for循环中的代码会使每个x中的第一个数字为零。所以最后你会:200 + 2000 + 20 + 2 + 20000