C语言高手进 在线==~~~

来源:百度知道 编辑:UC知道 时间:2024/06/14 15:12:38
#include<stdio.h>
void main()
{

int s,i,n;

for(i=0;i<=10;i++)
{
n=n*i;
s=s+n;
}
printf("1!+2!+3!+4!+...+10!之和=%ld",s);
}
改下错误
#include<stdio.h>
void main()
{
/***********found***********/
long int s,i;
long int n;
/***********found***********/
for(i=0;i<=10;i++)
{
n=n*i;
s=s+n;
}
printf("1!+2!+3!+4!+...+10!之和=%ld",s);
}
在×××号的下一行该错

n=1

i=1
默认为0 0乘任何数为0

在 int i,s,n;
下面加:s=0; n=1;对它们赋值.
如不赋初值,那么原来的for循环中:
n=n*i;
s=s+n;
你n的值始终无法改变.

你的n没有赋初值,无法操作

#include"stdio.h"
#include"stdlib.h"
main()
{long s=0,i,n=1,j;
for(j=1;j<=10;j++)
{for(i=1,n=1;i<=j;i++)
n=n*i;
s=s+n;
}
printf("\n1!+2!+3!+4!+...+10!之和=%ld",s);
system("pause");
}

改下错误