把 printf 语句移到 if 的中括号里面
你这代码错误一大堆呀
1.print写到if外面去了,导致语法都是错误的,编译不了
2.s1,s2,s3都是int,除法也是整型除法,得数肯定是个错误的
3.int型最多计算13的阶乘,再大就溢出了
你的pg() 函数 ,参数定义错误,你应该传的是(int n)。 还有就是第四行 你又定义了 int n 这地方应该删掉。
#include <stdio.h>
int pq(int n)
{
int s = 1;
while (n >= 1)
{
s = s * n;
n--;
}
return s;
}
int main()
{
int m, n, s1, s2, s3;
scanf("%d %d", &m, &n);
if (n > 0 && n < m)
{
s1 = pq(m);
s2 = pq(n);
s3 = pq(m - n);
printf("resut: %d ", s1 / (s2 * s3));
}
else
{
printf("数据错误!\n");
}
return 0;
}