這個程序究竟發生了什麼?爲什麼myFunction爲x打印3?C中變量的範圍問題,爲什麼函數會打印它應該打印的內容
int myFunction(int);
void main(void) /* local variables: x, result in main */
{
int result, x = 2;
result = myFunction(x);
printf("%i", result); /* prints "3" */
printf("%i", x); /* prints "2" */
}
int myFunction (int x)
{
x = x + 1;
printf("%i\n", x); /* prints "3" */
return x;
}