C语言中我要把一个子函数中的计数m=m+1的值用到另一个子函数的数组score【m】,怎么办?注明,

C语言中我要把一个子函数中的计数m=m+1的值用到另一个子函数的数组score【m】,怎么办?注明,m已经定义了外部变量且不是子函数的形参... C语言中我要把一个子函数中的计数m=m+1的值用到另一个子函数的数组score【m】,怎么办?注明,m已经定义了外部变量且不是子函数的形参 展开
 我来答
李佑堂
2013-07-19 · TA获得超过212个赞
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:92.5万
展开全部

把m声明在外面,作为一个全局变量来用,这样就可以在多个子函数里通用了。

比如:

void f1 (void);
void f2 (void);
int main (void)
{
   int m = 0; //m initialized to 0
    f1 ();
    f2 ();
     
    return 0;
}
void f1 (void)
{
    m = m+1; //m = 1
    return;
}

void f2 (void)
{
     int score[m];  //m = 1;
     return;
}

注意: 这时候, score[m]数组是个临时的,每当 f2() 结束以后,该数组即被释放。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千江月success
2013-07-19 · TA获得超过827个赞
知道小有建树答主
回答量:1031
采纳率:100%
帮助的人:901万
展开全部
int score[m]是错的。。
这里你使用的是c语言就用malloc吧
int *score = (int *)malloc(m*sizeof(int));
//
中间这段和score[m]用法一样了。。
//
最后退出函数的时候记得free(score);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8530813
2013-07-19 · TA获得超过426个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:94.2万
展开全部
如果定义的是外部全局变量的话,另一个函数就可以直接引用的!
追问
可是蜗定义在外面的m是变量啊,在子函数里才是计数的值,而score〔m〕是数组,不允许m是变量……
追答
要数组score[m]m是变量m可以是形参啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乐VoV乐
2013-07-19 · 知道合伙人软件行家
乐VoV乐
知道合伙人软件行家
采纳数:289 获赞数:877
深圳市潮范文化传播有限公司软件工程师.

向TA提问 私信TA
展开全部
声明为全局的变量,可以在任何函数块中使用。无需做形参。
追问
可数组需要的是常量表达式啊我在数组里引用的是变量,所以不能用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
顺达天下
2013-07-19
知道答主
回答量:29
采纳率:0%
帮助的人:5.7万
展开全部
弄一个有返回值的函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式