搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 为什么数组b的值在调用函数后全变0了
标题:
为什么数组b的值在调用函数后全变0了
只看楼主
zhengchen080
等 级:
新手上路
帖 子:21
专家分:3
注 册:2013-7-29
第
11
楼
得分:0
回复 10楼 wp231957
我的意思是调用函数后b数组的值随之改变,因为b定义的是全局变量,那为什么在我调用函数之后b数组的值还是0呢
2013-08-13 19:04
whxnsw
等 级:
论坛游民
帖 子:5
专家分:10
注 册:2013-8-10
第
12
楼
得分:3
调用函数中的b[i]对main函数中的b[i]没有影响,b[i]没有进行调用,一般int b[12]应在main函数中定义的.
#include "stdio.h"
#include "math.h"
int b[12];
main()
{
int n,y,r,i;
scanf("%d,%d,%d",&n,&y,&r);
for(i=0;i<11;i++)
printf("%d ",b[i]);
}
结果输出一样为0,若在main函数中定义int b[12],则产生随机数组,在main 函数外定义,初始化为0,不知为何,请高手详解
2013-08-13 21:39
小小小火柴
来 自:江西赣州
等 级:
职业侠客
威 望:
3
帖 子:141
专家分:337
注 册:2012-9-28
第
13
楼
得分:0
回复 12楼 whxnsw
晕了!你上面的没有定义数值,你说b[12]会不会默认为0呢?另外,你的函数,你在main()函数中没有去调用你写的函数,它怎么会改变数值呢?
好好学习!
2013-08-16 09:47
zhujiangtaoc
等 级:
新手上路
帖 子:5
专家分:4
注 册:2013-8-18
第
14
楼
得分:0
你在rn函数中定义的b[]作用域只在那个函数中,又因为你声明了全局变量b[],所以你打印全是0,不信你可以把全局的b[]={1,2,3,4,5,6,7,8,9,0,11,3};那么for(i=0;i<11;i++)
printf("%d ",b[i]);就会打印出1,2,3,4,5,6,7,8,9,0,11,3;
2013-08-18 21:12
14
2/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-419015-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.130284 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved