C语言一题简单填空

来源:百度知道 编辑:UC知道 时间:2024/05/26 15:59:27
#include <stdio.h>
void main()
{ /**/ /**/
int i=1;
do{
p=p*i;
i=i+1;
}while(/**/ /**/);
printf("\np=%ld\n", p);
getch();
}

在/**/之间填写程序.
照理说 unsingned int p=1;没错呀,可结果错了。.
请教各位高手麻烦解答下
谢谢啦

void main()
{ /**/ long p = 1; /**/ //---------用long型比较好,否则很容易越界的。
int i=1;
do{
p=p*i;
i=i+1;
}while(/**/ i < 10 /**/);// -------这里是控制计算次数的,不宜太大,否则结果会越界的,即超出了long型数的表示范围
printf("\np=%ld\n", p);
getch();
}

p的数据类型和初值怎么都没定义阿