当前位置:编程学习 > C/C++ >>

C语言求分析、

#include<stdio.h> void main() { static int a[200]; int i,j,n; for(i=0;i<200;i++) { a[i]=0; } n=100; for(i=0;i<n;i++) { for(j=0;j<n;j++) { a[j]=a[i]+1; } } printf("%d\n",a[99]); } 只要分析、为什么a[99]以下都是199?我思维算出的总是99
答案:i=0,j=0时a[0]=a[0]+1=1
i=0,j=1时a[1]=a[0]+1=1+1=2
i=0,j=2时a[2]=a[0]+1=1+1=2
知道错在哪了吧
其他:for(i=0;i<200;i++)
	{
		a[i]=0;
	}
	n=100;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			a[j]=a[i]+1;
		}
	}
这是两重循环,你算出来等于99,只把内循环执行了一遍。当i=0,内循环执行了一遍,a[99]=99,当i=1,内循环又执行了一遍,a[99]=100,以此类推。最后结果就是a[99]=199

上一个:C语言题目,问题如下!
下一个:谁能帮我看出错误~难道没人能看出来吗~c语言问题

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,