| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1927 人关注过本帖
标题:似乎是静态变量问题
只看楼主 加入收藏
_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
快速回复:似乎是静态变量问题
数据加载中...
 
   



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

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