若有如下程序段,其中s,a,b,c均已定义为整型变量,且a,c均已赋值(c大于0)

来源:百度知道 编辑:UC知道 时间:2024/07/02 17:43:32
s=a;
for(b=1;b<=c;b++)s=s+1;
则与上述程序段功能等价的赋值语句是:
A s=a+b; B s=a+c; C s=s+c; D s=b+c;
我感觉A中的a+b不是跟B中的a+c一样么?b最后肯定等于c,那a+b与a+c不就是一样了么?糊涂啦啊

B是正确的,a是个常量值作为s的初值,没次循环加1,共加了c次。s=a+c
C有点迷惑性,因为开始赋值了s=a;
但是s=s+c是不对的,因为S是个变量,假设初始值等于a,经过循环后就不在是a了,此时的s=s+c就不等于a+c了

循环执行了c次,每次s加一,相当于加了c
所以答案 B

设a=100,c=5;
则有s=100+1,s=101+1,s=102+1......结果s=105
同B 答案中s=100+5是一样的。

选c:第一次循环,s=a+1,第二次循环,s=a+1+1.....一次类推,循环了c次,也就是s=s+c

s+c; C