社区
C语言
帖子详情
帮我看看着段c的问提
CppPrimer
2003-08-25 08:32:22
int fact()
{
static int i=5;
if(i=0) {return(1); }
else { i=i-1; return(( i+abs(1))*fact()); }
}
main(){
printf("factor or 5=%d\n",fact());
}
为什么将abs(1)换成1 结果会不同呢 ????????
...全文
24
10
打赏
收藏
帮我看看着段c的问提
int fact() { static int i=5; if(i=0) {return(1); } else { i=i-1; return(( i+abs(1))*fact()); } } main(){ printf("factor or 5=%d\n",fact()); } 为什么将abs(1)换成1 结果会不同呢 ????????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kundy
2003-08-25
打赏
举报
回复
请记着include "math.h"头文件!
1.
int fact()
{
static int i = 5;
if (i == 0) {
return (1);
}
else {
i = i - 1;
return (( i + 1) * fact());
}
}
2.
int fact()
{
static int i = 5;
if (i == 0) {
return (1);
}
else {
i = i - 1;
return (( i + abs(1)) * fact());
}
}
我在.net(VC7.0) + win server 2000下编译运行结果均为120,^_^
CppPrimer
2003-08-25
打赏
举报
回复
我在VC和JBUILDER下面变异结果都一样
但是在C++BUILDER下面就一样了
想知道为什么
jrhjrh
2003-08-25
打赏
举报
回复
i=1 => i==1
zhang,qiuping
2003-08-25
打赏
举报
回复
#include <math.h>
#include <stdio.h>
int fact()
{
static int i=5;
if(i==0) {return(1); }
else { i=i-1; return(( i+1)*fact()); }
// else { i=i-1; return(( i+abs(1))*fact()); } 这样也正确。Vc++6.0+WinXp下编译通过。
}
main(){
printf("factor or 5=%d\n",fact());
}
CppPrimer
2003-08-25
打赏
举报
回复
改称i==0诗一样的结果 还是有问题啊
kundy
2003-08-25
打赏
举报
回复
if(i=0){return(1);
这个语句出问题啦~~
i=0是赋值语句,该语句赋值成功后,表达式的值不为0,因而执行return(1)啦 ^_^
将if(i=0)改为if(i==0)即可。
point_to
2003-08-25
打赏
举报
回复
int fact()
{
static int i=5;
if(i==0) {return(1); }
// else { i=i-1; return(( i+abs(1))*fact()); }
//于下面的等效,结果一样!所以结果不一样,可能是括号错误。
else
{
i=i-1;
return(( i+ 1 )*fact());
}
}
main()
{
printf("factor or 5=%d\n",fact());
}
CppPrimer
2003-08-25
打赏
举报
回复
NOT dead loop
if(i==0) return 了
new1mm
2003-08-25
打赏
举报
回复
a dead loop?
how can you return to main?
point_to
2003-08-25
打赏
举报
回复
if(i=0) -> if(i==0)
c语言堆、栈、数据
段
、代码
段
、bss
段
的疑惑
程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区
哲学家就餐
问
题-C语言讲解
原博客网址:哲学家就餐
问
题-C语言讲解 哲学家
问
题是操作系统中同步互斥的经典
问
题。通常使用信号量,管程的方式。这篇文章将会简要介绍
问
题的定义和类似服务生解法。并且用c语言实现解法。
问
题描述: 五个哲学家围绕坐在一个圆形餐桌前,桌上放着五支筷子,每两个哲学家之间放一个筷子。哲学家的动作包括就餐和思考。思考不需要拿筷子,而就餐需要拿到两个筷子才能就餐。两个相邻的哲学家需要共享一个筷子(这个筷子就是...
经典
问
题——八皇后
问
题:最适合C语言初学者的解法
最适合C语言初学者的八皇后
问
题
问
题的最优解
帮
我妹一 jio 踹开了 C 语言的大门,从此学习的路上不再迷茫不再彷徨(史上最强 C语言学习路线)
关注我比较久的读者都知道了,我妹今年上大一,学校安排的编程语言是 C 语言,这对于一个初学编程的小白来说,并不容易!作为她亲哥的我,肩膀上抗着巨大的责任,那就是尽全力
帮
助她入门。 前
段
时间为了她专门调研了一波 IDE(有我俩的合影,快去瞧瞧),最后我比较钟情 Visual Studio Code,轻量级,高颜值。 我妹给我反馈说,学校老师安排的课程跟不上,上课经常走神,学的云里雾里,
问
我有什么好的办法没?不想就这么白白浪费了时间(还是有点觉悟哈)。 既然学校老师的课听不懂,那不妨听听网上的课,比如我之前推荐
学习C语言常见的几个
问
题及解决方法
所有初学者面临的第一个
问
题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会
帮
你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。 大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的
C语言
69,337
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章