您好,欢迎来到沃锋问答-AI智慧知识互动平台! [
请登录
]
|
[
免费注册
]
沃锋问答-AI智慧知识互动平台
问答首页
问答动态
问题库
问答专家
知识专题
站内公告
全部分类
>
电脑网络
全局变量局部变量问题
用户提问
|
浏览562次
收藏
|
2019/05/02 07:06
满意回答
检举
|
2019/05/02 07:26
{ x=20;-----应该为 test() {int x=20;}}因为你直接使用了全局赋值,所以不管局部如何变化,结果还是全局20哦!
评论(0)
加载中...
匿名
秀才
|
采纳率100%
|
回答于 2019/05/02 07:26
其他回答(5)
其他
静态局部变量通常放在函数内部,只能在函数内部,只进行一次初始化,每次执行函数时保持上一次执行时的值,如下代码所示:void func() {static int x = 0; // 在对func的三次调用中,x只进行一次初始化printf("%d\n", x); // 输出x的值x = x + 1;}int main(int argc, char * const argv[]){func(); // 输出0func(); // 输出1func(); // 输出2return 0;}静态全局变量是在全局变量前加一个static,使该变量只在这个源文件中可用,称之为全局静态变量,全局静态变量就是静态全局变量。在多文件组成的程序里,全局变量与全局静态变量是不同的。全局静态变量使得该变量成为定义该变量的源文件所独享,使它文件不能使用。
评论(0)
回答于 2019/05/02 09:01
加载中...
其他
你这个 x的定义不就是全局变量吗,后面所有的函数都可以对它操作
评论(0)
回答于 2019/05/02 08:42
加载中...
其他
因为你对X超作了,赋予新值20,所以是20
评论(0)
回答于 2019/05/02 08:12
加载中...
其他
赋予新值20
评论(0)
回答于 2019/05/02 08:03
加载中...
其他
你的test 里面没有用局部变量啊?直接全局用x,如果test(){int x=10;}就是你希望的。
评论(0)
回答于 2019/05/02 07:33
加载中...
相关已解决
1个回答
请问:DDR5内存为什么有24GB内存?
1个回答
请问:金百达内存质量怎么样?
1个回答
GTX1650 SUPER和GTX1060 6G哪个性能强些呢?
1个回答
小度小爱天猫精灵三种哪种好?
1个回答
i3 8100搭配GTX960 4G和GTX1060 3G显卡需要多少W电源
1个回答
i3 8100搭配ddr4 2400频率和2666频率差距有多大
1个回答
ultra5 225F比i3 12100F单核多核性能分别提升多少
1个回答
剪映怎么导出GIF动图呀?
1个回答
小红书申诉解封话术有哪些,小红书禁封还能恢复吗?
1个回答
主板电池没电 这对电脑有何影响
0
人关注该问题
>>
>>
+1
加载中...