爲什麼當變量聲明爲全局變量時,下面的代碼返回錯誤。函數賦值給變量C
int add(int x, int y) {
return x+y;
}
int ab = add(10, 20);
int main(void) {
printf("%d", ab);
}
但如果我這樣調用:
int add(int x, int y) {
return x+y;
}
int main(void) {
int ab = add(10, 20); // Variable declare inside main
printf("%d", ab);
}
那麼它的執行沒有錯誤。
文件範圍變量只能用常量表達式進行初始化。函數調用不是一個。 –