為什么輸出一直是 50 10 50 呢?
#include <stdio.h>
int x = 77;
void fn1()
{
??? printf("fn1(): x=%d\n", x);????? ?
}
int main()
{
??? int x1= 10;
??? if(x1>0)
??? {
??????? x = 100;
??????? x /= 2;
??????? printf("if語句內(nèi), x=%d\n", x);????? ?
??? }
??? printf("main方法內(nèi), x=%d\n", x1);
??? fn1();
??? return 0;
}
fn1()函數(shù)輸出的不是77?錯在哪? 請問大神們
2017-06-26
因為全局變量所有函數(shù)共用一個,主函數(shù)改變了全局變量,調(diào)用函數(shù)也跟著變了
2016-03-25
if里x=100變成定義局部變量x=100
int x=100
2016-02-16
#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;
}
2015-12-04
全寫X的話? 輸出的結(jié)果就是 50? 50? 77
2015-12-04
?int x1= 10;
??? if(x1>0)
這塊有問題 你應(yīng)該寫成x 不應(yīng)該寫成x1,這塊是考全局變量和局部變量的