奥礼网
新记
0main() {int i=0,j=10,k=2,s=0;for (;;){i+=k;if(i>j){printf("%d\n",s);break;}s+=i;}} 的答案为什么
么是30而不是42
举报该文章
相关建议 推荐于2018-04-05
你会认为是42,是因为当i=8,i<j=10;s=20,之后再循环i=8+2=10;j=10,所以i并不大于j,条件不满足s=i+s=30,
之后i=12>j,进入
if语句
,打出s=30,break
跳出循环
,结束
温馨提示:内容为网友见解,仅供参考
当前网址:
https://aolonic.com/aa/kw43d43kw.html
其他看法
第1个回答 2012-03-21
main()
{
int i=0,j=10,k=2,s=0;
for (;;)
{
i+=k; //i=i+k , 2,4,6...
if(i>j) //i==12时条件成立,输出此时的s=2+4+6+8+10=30
{
printf("%d\n",s);
break;
}
s+=i; //s=s+i, 2+4+6+8+10
}
}
第2个回答 2012-03-21
因为i到12的时候就进不了if语句了
相似回答
大家正在搜
相关问题
#include<stdio.h> void main() ...
#include<stdio.h> main() {int ...
main() { int i=0,j=14,k=2,s=0;...
main() {int i=0, j=14, k=2, s=...
#include<stdio.h> main(void) {...
int main() {int k=0,m=0,i,j; f...
main() {int i,j,k; for(i=1;i<=...
C语言中 i+=k 什么意思