标题:似乎是静态变量问题
只看楼主
_1007881302
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2019-2-18
结帖率:100%
 问题点数:0 回复次数:6 
似乎是静态变量问题
#include<stdio.h>
void sub(int s[], int y)
{
static int t=3;
y=s[t];
t--;
}
int main()
{
int a[]= {1, 2, 3, 4}, i, x=0;
for(i=0; i<4; i++)
{
sub(a, x);
printf("%d ", x);
}
printf("\n");
return 0;
}


为啥答案为0000呀  
是不是程序有问题呀
搜索更多相关主题的帖子: 静态 变量 sub int printf 
2019-03-25 22:14
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
得分:0 
传变量x的话,main函数的x不会变,一直为0
解决方法:传引用或指针

void sub(int s[], int &y)  //传引用
2019-03-25 23:17
_1007881302
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2019-2-18
得分:0 
回复 2楼 word123
2019-03-26 22:08
_1007881302
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2019-2-18
得分:0 
回复 2楼 word123
2019-03-26 22:08
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
得分:0 
感觉你这个题有问题
2019-03-27 16:25
_1007881302
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2019-2-18
得分:0 
我也感觉是题的问题   嘿嘿嘿‘

2019-03-27 21:36
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
得分:0 
程序代码:
void sub(int s[], int y)
{
static int t=3;
y=s[t]; // 无意义赋值,不会传出去的,这是一个局部变量。
t--;
}

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2019-03-28 21:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-493793-1-1.html




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

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