楼上说的很明确了!!!!for的执行顺序!!
同意dengjj的说法,至于你的那个问题应该用双重循环来做#include <stdio.h>int main(void){ int i,sum1,j,n,sum2; sum1=0; sum2=0; scanf("%d",&n) for(i=1;i<=n;i++) { for (j=1;j<=i;j++) sum1+=j; sum2+=sum1; sum1=0; } printf("%d\t%d\n",sum2,i); return 0;}
其实就是有规律的执行的``` 1 2 3for(i=0;i<n;i++){ ...4....}FOR循环是按照我在标的号码的循序执行的```是1,2,4,3 1只执行1次 后面就一直2,4,3 2,4,3这样一直循环```直到条件不符合就直接跳到下FOR循环下面的代码```
恩!说的没错!!
#include <stdio.h>void main(){ int i,j,sum,n; printf("enter n:"); scanf("%d",&n); for(sum=0,i=1;i<=n;i++) for(j=1;j<=i;j++) sum+=j; printf("%d",sum); getch();}
这个用那个最简单的1+2+。。。100就可以了main(){int i,sum;sum=0;for(i=1;i<=100;i++); 你把这里换成++i,试试看就比较清楚了 ;sum = sum+i;printf("%d",sum);}
本来就应该是24!你首先a=2 n=2 那么m<=n 成立 所以执行循环体一次 a现在是2对把。然后2*10+2是不是等于22然后你又 b=a+b (b是2,前面赋值的)所以 现在就是22+2 不是等于24了?然后继续执行循环。现在M=3了 条件不成立跳出循环。。
[此贴子已经被作者于2005-12-5 20:44:16编辑过]