我覺得原始的就對呀? 哪里錯了?求指導,謝謝!
#include <stdio.h>
int x = 77;
void fn1()
{
? ? printf("fn1(): x=%d\n", x); ? ? ??
}
int main()
{
? ? int x = 10;
? ? if(x>0)
? ? {
? ? ? ? x = 100;
? ? ? ? x /= 2;
? ? ? ? printf("if語句內, x=%d\n", x); ? ? ??
? ? }
? ? printf("main方法內, x=%d\n", x);
? ? fn1();
? ? return 0;
}
2015-10-30
要求“main方法內,x=10”,你執行下來,結果實際是“main方法內,x=50”(已經經過了if的運算)。所以通過不了。
2015-10-31
你這個程序是沒有問題的,但是你又說有錯誤,那么,你就要將你的問題描述清楚:比如說,你編寫這個程序要想實現什么功能,要求要有什么效果之類的,出了錯誤,如果編譯器有提示,要給出錯誤提示。這樣才好根據你的提問去回答你的問題。如果你的提問模糊不清,別人就不知道怎么回答,你也得不到你要的答案。
通過你這個程序,我猜測你的問題是想問main函數外的x變量和main函數內的變量的值為什么不一樣是么
在c語言中如果全局變量和局部變量的變量名相同,那么局部變量就會屏蔽全局變量。
就像你這個程序,在main函數內的變量x就屏蔽了main外的全局變量x,在main函數內打印的變量x的值就是main函數內的局部變量x的值(50);而fn1函數打印出來的變量x就是全局變量(77)
2015-10-30
左側任務中有不會了怎么辦,里面有源碼提示