C小程序的简单题

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:29:25
int i,j=5;
for (i=0;i<5;i++) j=j+i;
求i =? j=?

请说明一下。
还没有对的。

做循环题目要列一张表格
i j
0 5+0 = 5 => j
1 5+1 = 6 => j
2 6+2 = 8 => j
3 8+3 = 11 => j
4 11+4 = 15 => j
5 退出循环
所以结果是i = 5, j = 15

i =5 j=15
DEPHI的计算结果 应该是符合这题目的
var i:integer;
j:integer;
begin
j:=5;
for i := 0 to 4 do
begin
j:= i+j;
end;
label1.Caption := inttoStr(i)+ #10 + inttoStr(j);

end;
很不懂C语言
感觉在C中虽然循环是在i=5时才结束的,个人理解i=5时 i<5不成立 跳出FOR循环 j=j+i最后取到的应该是i=4时的计算结果
label1.Caption := inttoStr(i)+ #10 + inttoStr(j);放入FOR循环中得到的是i=4 j=5

看这个循环的执行顺序,你自然就明白了:
(1) i = 0; // i的值为0;
(2) i < 5; // 条件成立与否;
(3) 当(2)成立时: j = j + i;
当(2)不成立时,退出循环;
(4) i++;

具体你自己来算好了....

int i,j=5; /*定义2个变量 J=5 整型*/

for (i=0;i<5;i++) j=j+i; /*for语句循环 先为i附值为0 然后判断 i是否小于5,条件成立 执行括号外的循环语句 j=j+1 然后执行i++ 再次判断 最后i=5 j=14退出循环*/

i=5 j=14

这次对了吗???