c语言题:int k,s=0;for(k=1;k<=10;++k);s=s+k;为什么程序段执行后s

2024-11-25 15:36:28
推荐回答(4个)
回答1:

int k, s=0;
for(k=1; k<=10; ++k)
    ; // for 的循环是中其实什么都没做,只是k加到了11. 因为k = 10 时还是满足条件的, 到k=11才会跳出循环
s=s+k; // s = s + k = 0 + 11 = 11

回答2:

因为for(k=1 ;k<=10; ++k);
注意for循环外有个分号,说明循环结束的时候 k=11 咯
s=s+k 不就是11吗

回答3:

for(k=1;k<=10;++k);
后k = 11;
然后s = s + k = 0 + 11 = 11;
你可能不想要for后面那个分号??

回答4:

int k,s=0;
for(k=1;k<=10;++k);   //这里多了个分号

s=s+k;