yy公会解散:我有c语言的问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 11:04:33
1. 若i为整型变量,则以下循环执行次数是【 】。
悬赏分:0 - 离投票结束还有 2 天 22 小时
1. 若i为整型变量,则以下循环执行次数是【 】。
for( i=2 ; i==0; ) printf(“%d”,i--);
(A) 无限次 (B) 0次 (C)1次 (D) 2次

0次,
因为进入循环体前初始化i=2,进去循环体后马上进行i==0 条件判断判断,结果是false,就跳出了循环。

这里是Visual studio 2003生成的汇编代码。

int i;
for(i=2;i==0;)printf("%d",i--);
00411A4E mov dword ptr [i],2 ;初始化i为2
00411A55 cmp dword ptr [i],0 ; 马上进行比较
00411A59 jne main+53h (411A83h) ; 跳出循环体
00411A5B mov eax,dword ptr [i]
00411A5E mov dword ptr [ebp-0D0h],eax
00411A64 mov ecx,dword ptr [i]
00411A67 sub ecx,1
00411A6A mov dword ptr [i],ecx
00411A6D mov edx,dword ptr [ebp-0D0h]
00411A73 push edx
00411A74 push offset string "%d" (42401Ch)
00411A79 call @ILT+1170(_printf) (411497h)
00411A7E add esp,8
00411A81 jmp main+25h (411A55h)
}

0次

d