题目内容

以下叙述中正确的是______。

A. 系统默认auto变量的初值为0
B. 用static说明的变量是全局变量
C. register变量不能进行求地址运算
D. 用register说明的变量被强制保留在CPU的寄存器中

查看答案
更多问题

以下叙述中错误的是______。

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,

答案查题题库