下面是一个软件上的一道题,软件编者的解析答案是-3。
但此循环的条件是在b>=0时才执行,当输入-1和-2时,b=-2,应该不会执行下面的C=a+b.而前面两次输入时条件为true,执行两次循环后C的值已经是6
为什么标准答案却是-3 ?前面的C值在程序中不会保存吗?
另外Val函数是转字符为数值,如果本身是数值的话是否保持原值不变?如果是负数的话是否会转成正值?
下面是一个软件上的一道题,软件编者的解析答案是-3。
但此循环的条件是在b>=0时才执行,当输入-1和-2时,b=-2,应该不会执行下面的C=a+b.而前面两次输入时条件为true,执行两次循环后C的值已经是6
为什么标准答案却是-3 ?前面的C值在程序中不会保存吗?
另外Val函数是转字符为数值,如果本身是数值的话是否保持原值不变?如果是负数的话是否会转成正值?
哦。首先Val是不会改变值的正负的,其次。 Do While循环是先执行循环体再判断的。如果改成While循环就不会出现这个问题了。不防试试看。
是等于-3
因为 a,b,c都是全局变量
第一次循环 b = 0 ,输入 a = 3, b = 2 , c=5
第二次循环 b = 2 ,输入 a = 1, b = 0 , c =1
第三次循环 b = 0 ,输入 a = -1, b=-2, c=-3
b<0不再循环,输出c=-3