#include <stdio.h>
int g;
void afunc(int x)
{
g = x; /* this sets the global to whatever x is */
}
int main(void)
{
g = 10; /* global g is now 10 */
afunc(20); /* but this function will set it to 20 */
printf("%d\n", g); /* so this will print "20" */
return 0;
}
的printf的輸出是20 但本地變量g = 10,所以 爲什麼它被打印的20,而不是10 不會局部變量具有比全局變量更多範圍?全局變量和局部變量混淆
代碼中的實際註釋解釋了它。 XD – Archimaredes