局部變量與全局變量的影響
#include?<stdio.h> int?x?=?77; void?fn1() { ????printf("fn1():?x=%d\n",?x);??????? } int?main() { ????int?x?=?10; ????if(x>0) ????{ ????int?x?=?100; ????????x?/=?2; ????????printf("if語句內(nèi),?x=%d\n",?x);??????? ????} ????printf("main方法內(nèi),?x=%d\n",?x); ????fn1(); ????return?0; }
得到結(jié)果:
if語句內(nèi), x=50
main方法內(nèi), x=10
fn1(): x=77
#include?<stdio.h> x?=?77; void?fn1() { ????printf("fn1():?x=%d\n",?x);??????? } int?main() { ????int?x?=?10; ????if(x>0) ????{ ????int?x?=?100; ????????x?/=?2; ????????printf("if語句內(nèi),?x=%d\n",?x);??????? ????} ????printf("main方法內(nèi),?x=%d\n",?x); ????fn1(); ????return?0; }
得到結(jié)果:
if語句內(nèi), x=50
main方法內(nèi), x=10
fn1(): x=77
#include?<stdio.h> x?=?77; void?fn1() { ????printf("fn1():?x=%d\n",?x);??????? } int?main() { ????x?=?10; ????if(x>0) ????{ ????int?x?=?100; ????????x?/=?2; ????????printf("if語句內(nèi),?x=%d\n",?x);??????? ????} ????printf("main方法內(nèi),?x=%d\n",?x); ????fn1(); ????return?0; }
得到結(jié)果:
if語句內(nèi), x=50
main方法內(nèi), x=10
fn1(): x=10
#include?<stdio.h> x?=?77; void?fn1() { ????printf("fn1():?x=%d\n",?x);??????? } int?main() { ????x?=?10; ????if(x>0) ????{ ????x?=?100; ????????x?/=?2; ????????printf("if語句內(nèi),?x=%d\n",?x);??????? ????} ????printf("main方法內(nèi),?x=%d\n",?x); ????fn1(); ????return?0; }
得到結(jié)果:
if語句內(nèi), x=50
main方法內(nèi), x=50
fn1(): x=50
各位對于這些對比有什么想法?int對于局部全局的影響是什么?
順帶捎一個(gè)自己不確定的問題:局部變量的優(yōu)先級高于全局變量對嗎?但是不定義的話會默認(rèn)為全局變量的值這樣嗎?
2016-11-18
拿這題來說,全局變量是X的最初值,如果不定義的話直接就是最初值了。。(這是我的理解)
2016-10-22
sad