永发信息网

c语言全局变量的意义?请问下面的一个程序中:定义了int j;有什么意义?

答案:5  悬赏:80  手机版
解决时间 2021-02-03 09:40

i nclude "stdio.h"
main()
{
int i;
int fact();
for(i=0;i<5;i++)

printf("\40:%d!=%d\n",i,fact(i));
}
int fact(j)
int j;
{
int sum;
if(j==0)

sum=1;
else

sum=j*fact(j-1);
return sum;
}

能不能给我个明确的解释,谢谢!
最佳答案
全局变量可以供多个函数使用(包括一个函数的多次调用),是函数间传递信息最低级的方法,但是对于大型程序来说,全局变量如果设计不好非常容易导致问题,应该尽量避免。
这段程序不像是C的标准写法,能编译得过吗/
全部回答
实际上输出是|8567 | -06d中的0实际上倍忽略了 下面程序验证了这一点 #include void main() { int k=8567; printf("|%-06d|\n",k); }
定义的 j 变量 只能在定义的 { } 里面使用,也就是在这里的fact里使用,但是在这里 已经在函数里传递了j进来,传递的j是最先定义的,所以它会覆盖掉你后来重定义的j。所以 int j; 相当于没写。 而且现在的main函数一般是int 返回的,不然新标准的编译器可能会报错。谢谢!
这是至少三十年前的C语言程序了,这样的函数参数声明语法是1990年标准C语言之前才有的……
int fact(j) int j; 这个j不是全局变量, 是函数fact()的参数。 zjfaok说的没错, 这种写法已经不符合现在的C语言标准了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
《这个杀手不太冷》的片尾曲是什么意思?
家养鸽子怎么防止夏天蚊虫叮咬
看到红、橙、黄色使人产生温暖的感觉的现象叫
C#如何把excel里的数据读出来 然后用画线把数
汉阴县疾病预防控制中心这个地址在什么地方,
系足人的意思是什么啊?知道的请说下!
创意广告庆典部地址在哪,我要去那里办事
19题怎么写?
求下图中大圆球的体积.
西关步行街娜文电脑打字复印部地址在什么地方
广西南宁市常邦典当有限责任公司地址有知道的
05款皇冠气囊故障码b1811
津驿的意思是什么啊?知道的请说下!
艺展广告中心地址在什么地方,想过去办事
巫师3什么时候救那个火堆上的法师
推荐资讯
像素的意思是什么啊?知道的请说下!
家里固定电话突然声音变得很大,怎么办
dnf阿修罗有什么强力异界散件啊?
【卡拉胶是什么】卡拉胶是什么东西?我看见很
填空题2012年11月23日上午,我国“歼15”舰载
二十世纪初,民族工业出现“短暂的春天”的政
下列筹资方式中,只适用于股份制公司筹集股权
创业大道在什么地方啊,我要过去处理事情
新疆生产建设兵团农十二师电大地址在什么地方
闹分手时,他对我说“何必把自己的爱情像悲剧
安能物流仁怀市新城分部地址在什么地方,想过
车美家汽车生活馆(迎宾大道美孚润滑油旁)地址
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?