![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
我用的是dev c++4.9.9.2 下面是C的程序代码 printf函数输出不了,求解释。。 菜鸟勿喷。。
#include<stdio.h>intmain(){longinti=1,n,jc=1;scanf("%d",&n);if(n>12)printf("Nistoobig...
#include<stdio.h>
int main()
{
long int i=1,n,jc=1;
scanf("%d",&n);
if(n>12) printf("N is too big!\n");
else {for(;i++;i<=n) jc*=i;
printf("%ld",jc);}
getchar();
return 0;
}
比如输入为5 输出就什么都没有 输入为13什么大于12的倒是没事。 展开
int main()
{
long int i=1,n,jc=1;
scanf("%d",&n);
if(n>12) printf("N is too big!\n");
else {for(;i++;i<=n) jc*=i;
printf("%ld",jc);}
getchar();
return 0;
}
比如输入为5 输出就什么都没有 输入为13什么大于12的倒是没事。 展开
3个回答
展开全部
首先 devcpp中long int和int是同一回事····
其次for(;i++;i<=n)中循环条件弄颠倒了 应为for(;i<=n;i++)
在循环中 printf("%d\n",jc);的\n漏掉了 如果不加上输出的就是连在一起的数
#include<stdio.h>
int main()
{
int i=1,n,jc=1;
scanf("%d",&n);
if(n>12) printf("N is too big!\n");
else
{
for(i=1;i<=n;i++) jc*=i;
printf("%d\n",jc);
}
getchar();
return 0;
}
可以把int改为long long,把%d改成%ld这样就是长整型数据
其次for(;i++;i<=n)中循环条件弄颠倒了 应为for(;i<=n;i++)
在循环中 printf("%d\n",jc);的\n漏掉了 如果不加上输出的就是连在一起的数
#include<stdio.h>
int main()
{
int i=1,n,jc=1;
scanf("%d",&n);
if(n>12) printf("N is too big!\n");
else
{
for(i=1;i<=n;i++) jc*=i;
printf("%d\n",jc);
}
getchar();
return 0;
}
可以把int改为long long,把%d改成%ld这样就是长整型数据
展开全部
printf("%d", jc);//你多了个I
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
它都跳不出循环,当然没输出了,楼主这代码^_^|||
for(;i++;i<=n)这句:没猜错的话应该是i++和i<=n写反了吧
#include<stdio.h>
int main()
{
long int i=1,n,jc=1;
scanf("%d",&n);
if(n>12) printf("N is too big!\n");
else
{
for(i=1;i<=n;i++) jc*=i;
printf("%ld\n",jc);
}
getchar();
return 0;
}
for(;i++;i<=n)这句:没猜错的话应该是i++和i<=n写反了吧
#include<stdio.h>
int main()
{
long int i=1,n,jc=1;
scanf("%d",&n);
if(n>12) printf("N is too big!\n");
else
{
for(i=1;i<=n;i++) jc*=i;
printf("%ld\n",jc);
}
getchar();
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询