熟悉C语言的来一下

来源:百度知道 编辑:UC知道 时间:2024/06/15 11:49:36
#include<stdio.h>
main()
{
int a,b,c,cnt,sum;
for(a=6;a<=11;a++)
for(b=1;b<=6;b++)
for(c=1;c<=6;c++)
if(a+b+c==13&&a-c==5)
{
cnt++;
sum+=a+b+c;
}
printf("cnt=%d\n,sum=%d\n",cnt,sum);
}

为啥这算出来的都是些奇怪的数啊??
哪出毛病了啊???

cnt,sum没有初始化,
这么改:
int a,b,c,cnt,sum;
改为:
int a,b,c,cnt=0,sum=0;

改了以后:
#include<stdio.h>
main()
{
int a,b,c,cnt=0,sum=0;
for(a=6;a<=11;a++)
for(b=1;b<=6;b++)
for(c=1;c<=6;c++)
if((a+b+c)==13&&(a-c)==5)
{
cnt++;
sum+=a+b+c;
}
printf("cnt=%d\n,sum=%d\n",cnt,sum);
}

运行结果为:
cnt=3
,sum=39

main()
{
int a,b,c,cnt=0,sum=0;//要初始化 要不然里面有存随即数 所以那个就怪了
for(a=6;a<=11;a++)
for(b=1;b<=6;b++)
for(c=1;c<=6;c++)
if(a+b+c==13&&a-c==5)
{
cnt++;
sum+=a+b+c;
}
printf("cnt=%d\n,sum=%d\n",cnt,sum);
}

sum没初始化

你算出来的是什么数。?哪里奇怪了?