main(){ int i, j, k=0;{}for(i=10,j=9;i<13;i++)

main()
{ int i, j, k=0;{}
for(i=10,j=9;i<13;i++)
while (j++<i)
k+=j;
printf("%d",k);

}为啥是10不是33详细点过程

#include <stdio.h>

int main(int argc, char const *argv[])
{
int i, j, k=0;
for(i=10,j=9;i<13;i++)
while (j++<i)
k+=j;
printf("%d",k);
}
/*
初始化i为10,j为9.
执行j<i(9<10)为真  j++,j为10,k为10
执行j<i(10<10)为假  j++,j为11,k为10

执行i++,i为11,i<13为真
执行j<i(11<11)为假  j++,j为12,k为10

执行i++,i为12,i<13为真
执行j<i(12<12)为假  j++,j为13,k为10

执行i++,i为13,i<13为假
执行j<i(13<13)为假  j++,j为14,k为10

打印k,为10
*/

追问

是不是因为这个是for和 while 的循环嵌套,他首先要执行完while的循环才可以返回i++接着执行for循环

追答

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-02-10
这程序先要注意2个点:
1.这是一个for循环嵌套whiIe的2重循环;
2.j++<i表示变量j先和i比较,然后j增1;
程序执行:
第1次for循环: i=10,j=9,i<13
_1.1 while(j++<i): 因j<i,j增1为10,k=k+j=10;
_1.2 while(j++<i): 因j=i,j增1为11,退出while;
第2次for循环: i=11,j=11,i<13
_2.1 while(j++<i): 因 j=i,j增1为12,退出while;
第3次for循环时i=12,j=12,i<13
_3.1 while(j++<i): 因 j=i,j增1为13,退出while;
第4次for循环时i=13,不再小于13,退出for。
打印k值,k=10

main(){ int i, j, k=0;{}for(i=10,j=9;i<13;i++)
include <stdio.h>int main(int argc, char const *argv[]){int i, j, k=0;for(i=10,j=9;i<13;i++)while (j++<i)k+=j;printf("%d",k);}\/*初始化i为10,j为9.执行j<i(9<10)为真 j++,j为10,k为10执行j<i(10<10)为假 j++,j为11,k为10执行i++,i为1...

main() { int i,m=0, n=0, k=0; for (i=9; i<=11; i+
下个c4droid手机编程,最后用电脑

c++语言如何让1234567890排出一个数字直角三角形?
include <stdio.h> int main(){ int i,j,k=0;for(i=0;i<4;i++){for(j=0;j<=i;j++)printf("%d",++k%10);printf("\\n");} return 0;}

#include <stdio.h> int main() { int i, j, k;
include <stdio.h>int main() { int i, j, k;for (i = 0; i <= 10; i++) {j = i * 2 + 1;\/\/ j的值是1、3、5、7、9、...、21k = 10 - i;\/\/ K的值是10、9、8、...、2、1while(k--) printf(" ");\/\/ 输出k个空格while(j--) {if(j % 2) printf("*"...

...main() { int i,j,k; for(i=1;i<=9;i++) {for(j=0;j<=9;j++) {...
这不是什么算式,这是C++语言的算法程序 include<stdio.h> void main(){ int i,j,k;for(i=1;i<=9;i++){ for(j=0;j<=9;j++){ for(k=0;k< ……--- 以下是我为这个残缺程序补充的内容,但是由于我不是学这个的,这个只不过是我的爱好,以下这段程序我只是试编,如果以下这段程序...

...int i, j; for (j = 10; j < 11; j++) for (i = 9; i == j - 1...
我讲解一下这个代码:首先声明两个变量i和j,然后定义for循环,以j作为循环变量初始化为10,循环条件为小于11,每次执行完就自加1(可以断定这个for循环只会执行一次),接着在这个for循环再定义一层for循环,以i作为循环变量初始化为9,循环条件为等于j - 1,每次执行完就自加1(可以断定这个for循环...

水仙花数的程序怎么写啊?
Next b Next a 这是用vb编的 我只学了这个 === C语言的"水仙花数"代码 main(){ int i,j,k;for(i=1;i<10;i++)for(j=0;j<10;j++)for(k=0;k<10;k++)if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))printf("%d%d%d ",i,j,k);getch();} C语言的"水...

...main() { int i,j,k=0; for(i=0;i<5;i++) for (j=i;j<5;j++)k++...
i==0时j从0循环到4,共5次,k++执行5次,所以k==5;i==1时j从1循环到4,共4次,k++执行4次,所以k==9;i==2时j从2循环到4,共3次,k++执行3次,所以k==12;i==3时j从3循环到4,共2次,k++执行2次,所以k==14;i==4时j从4循环到4,共1次,k++执行1次,所以k==15...

# include< stdio. h>怎么使用?
include<stdio.h> int main(){ int i,j,k=0;for(i=2;i<10000;i++){ for(j=2;j*j<=i;j++)if(i%j==0)break;if(j*j>i){ printf("%d ",i);k++;if(k%10==0)printf("\\n");} } }

main() {int i,j,k=0,m=0;for(i=0;i<2;i++){for(j=0;j<3;j++)k++;k...
main(){ int i,j,k=0,m=0;\/\/ 这个循环结束 i=2 for(i=0;i<2;i++){ \/\/ 这个循环结束 j=3,k=3 for(j=0;j<3;j++)k++;k-=j; \/\/ k=k-j=0 } m=i+j; \/\/ m=2+3=5 printf("k=%d,m=%d\\n",k,m); \/\/ k=0,m=5 } ...

相似回答