C语言编程,求输出结果,和解释下怎么算出来的,谢谢

#include<stdio.h> void main() { Int s,i,j,k,t,u; s=0;t=0;u=0; for(i=1;i<=3;i++) { for(j=1;j<=i;j++) { for(k=j;k<=3;k++) { s++; } t++; } u++; } printf(“%d %d %d\n”,s,t,u); }

第1个回答  2019-08-29
运行结果为:14 6 3
最外面一个for循环控制的是u的自加次数,i=1;i<=3,所以可以是i=1,i=2,i=3循环3次,那么u自加三次,由0自加三次变成3,所以u=3
j=1;j<=i的for循环控制的是t的自加次数,i=1时循环1次,i=2时循环2次,i=3时循环3次,共计6次,那么t就自加6次,所以t=6
同样的道理,k=j;k<=3的for循环控制的是s的自加次数,循环情况如下:
i=1时,j循环1次,k循环3次
i=2时,j循环2次,k循环3+2=5次
i=3时,j循环3次,k循环3+2+1=6次
所以k共循环3+5+6=14次,循环一次自加一次,所以s自加14次,所以u=14
相似回答