int fac(int n)
{register int i,f=1;
for(i=1;i<=n;i++)
f=f*i
return(f);
}
main()
{int i;
for(i=0;i<=5;i++)
printf("%d!=%d\n",i,fac(i));
}
vc++6.0运行出错 请问哪方面的问题??
int fac(int n)
{register int i,f=1;
for(i=1;i<=n;i++)
f=f*i
return(f);
}
main()
{int i;
for(i=0;i<=5;i++)
printf("%d!=%d\n",i,fac(i));
}
vc++6.0运行出错 请问哪方面的问题??
楼上说的都可以,不过一楼的说return(f),有问题,在C语言语法中这对括号加不加都是正确的,都符合语法规则,还有就是要注意分号问题,最后要说一下的是,对于不同的编译器,可能复制过去后不能运行,但是只有注意C语言规范,不要为了简单省略几个不重要的字,到头来还要检查半天,比如上面的#include<stdio.h>这个加上去了,在任何软件上都能通过,不加的话,在有些软件上就不能通过,还有就是for(int i=1,i<=5;i++)这样写比你int i;for(i=1;i<=5;i++)好些,这就叫做编程规范,虽然都差不多但是要注意这个问题,以后就会很轻松了,不会犯这样的低级错误了,以上仅供参考,本人是计算机专业的,有什么问题联系哦,以后也可以互相切磋的,呵呵!
#include "stdio.h"//应该加上此头文件 int fac(int n) {register int i,f=1; for(i=1;i<=n;i++) f=f*i;//这里缺少分号 return f; } main() {int i; for(i=0;i<=5;i++) printf("%d!=%d\n",i,fac(i)); }