以下叙述中错误的是______。
A. C语言的寄存器变量位于内存,因此可以求地址
B. 当变量同名时,函数内的局部变量覆盖全局变量
C. 用extern说明变量是改变变量的作用域
D. 不借助指针,静态局部变量只能供定义它的函数使用
有以下程序 #include int* sum(int data) { static int init = 1; init += data; return &init; } main() { int i, *p; for (i=1; i<=3; i++) sum(i); p = sum(1); printf("%d\n", *p); } 程序运行后的输出结果是______。
A. 7
B. 9
C. 10
D. 8
以下存储类型中,只有在使用时才为该类型的变量分配内存的是______。
A. auto和static
B. auto和register
C. register和static
D. extern和register
有如下程序 #include int sum(int data) { static int init = 1; return init += data; } main() { int i; for (i=1; i<=1; i++) printf("%d,", sum(i));printf("\n"); } 程序运行后的输出结果是______。
A. 2,
B. 2,3,
C. 3,
D. 1,