单选题
main()
main()
{ int x=3,i;
for(i=0;i<3;i++) printf("%d",f(x));
}
int f(int a)
{ int b=0;
static c=3;
b++;c++;
return(a+b+c);
}
执行此程序后屏幕上显示的结果是()。
A
8 10 10
B
7 9 10
C
8 9 11
D
8 9 10
答案解析
正确答案:D
解析:
i=0:f(3)=3+1+4=8
i=1:f(3)=3+1+5=9
i=2:f(3)=3+1+6=10
如果是在函数内部定义的,
那么这个变量只初始化一次,
即使再次调用这个函数,
这个static变量也不会再次被初始化,
于是,这个变量的取值就会一直保存着
i=1:f(3)=3+1+5=9
i=2:f(3)=3+1+6=10
如果是在函数内部定义的,
那么这个变量只初始化一次,
即使再次调用这个函数,
这个static变量也不会再次被初始化,
于是,这个变量的取值就会一直保存着
相关题目
单选题
下列数据定义语句中可实现留空20H个字节存储单元的是( )。
单选题
为在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是( )。
单选题
检查二个有符号数的关系,若要实现AX≥BX时分支去LOP1处,那么在“CMP AX,BX”指令后应跟的分支指令是( )。
单选题
检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是( )。
单选题
在执行下列指令时,需要使用段寄存器DS的指令是( )。
单选题
执行后使BX=0的同时也使CF=0,OF=0的指令是( )。
单选题
8086通用寄存器各有不同的特殊功能,其中DX寄存器的特定用法是( )。
单选题
CPU要访问的某一存储单元的实际地址称( )。
单选题
XOR AX, 426H
JZ DONE
上述程序段产生分支的条件是( )。
单选题
X DW 1234H,0A9BH
Y DB 7EH,8DH
┇
MOV BH,TYPE X
MOV BL,TYPE Y
执行后BX的内容是( )。
