| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 948 人关注过本帖
标题:为什么数组b的值在调用函数后全变0了
只看楼主 加入收藏
zhengchen080
Rank: 1
等 级:新手上路
帖 子:21
专家分:3
注 册:2013-7-29
收藏
得分:0 
回复 10楼 wp231957
我的意思是调用函数后b数组的值随之改变,因为b定义的是全局变量,那为什么在我调用函数之后b数组的值还是0呢
2013-08-13 19:04
whxnsw
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2013-8-10
收藏
得分: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
小小小火柴
Rank: 5Rank: 5
来 自:江西赣州
等 级:职业侠客
威 望:3
帖 子:141
专家分:337
注 册:2012-9-28
收藏
得分:0 
回复 12楼 whxnsw
晕了!你上面的没有定义数值,你说b[12]会不会默认为0呢?另外,你的函数,你在main()函数中没有去调用你写的函数,它怎么会改变数值呢?

   好好学习!
2013-08-16 09:47
zhujiangtaoc
Rank: 1
等 级:新手上路
帖 子:5
专家分:4
注 册:2013-8-18
收藏
得分: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
快速回复:为什么数组b的值在调用函数后全变0了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034608 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved