为什么当变量声明为全局变量时,下面的代码返回错误。函数赋值给变量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);
}
那么它的执行没有错误。
文件范围变量只能用常量表达式进行初始化。函数调用不是一个。 –