#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なので、なぜローカル変数はグローバル変数よりもスコープが広いのでしょうか。