求1×2×3×4…×n

 

long sum = 1;  -- 要初始化为1

scanf("%d",&n);  ---n得取地址

while(i<=n) ---不然i等于n时就退出了,就不会乘到n

#include <stdio.h>
main()
{
	int n,i=1;
	long sum=1;
	scanf("%d",&n);
    printf("\n");
    while(i<=n){
        sum=sum*i;
        i++;
    }
    printf("sum=%ld",sum);
	return 0;
}

 

啥意思呢,你这已经有代码了?是改错题吗

 1。scanf("%d",&n);加取地址

2. sum初始化为1

3.while(i<=n)

#include <stdio.h>

main()
{
	int n,i=1;
	long sum=1;
	scanf("%d",&n);

    printf("\n");
    while(i<=n){
        sum=sum*i;
        i++;
    }
    printf("sum=%ld",sum);
	return 0;
}

long sum=0

还有一个地方是scanf括号里面那个n改成&n