在C语言中采用3中语法来实现循环,它们分别是while、for、do while,本文将分别说明这三种循环的实现,并对它们的运行效率进行比较。
do while
首先来看do while的实现:下面是简单的代码:
int nCount = 0;
int nMax = 10;
do
{
nCount++;
} while (nCount < nMax);
return 0;
下面对应的是它的汇编代码:
9: int nCount = 0;
00401268 mov dword ptr [ebp-4],0
10: int nMax = 10;
0040126F mov dword ptr [ebp-8],0Ah
11: do
12: {
13: nCount++;
00401276 mov eax,dword ptr [ebp-4]
00401279 add eax,1
0040127C mov dword ptr [ebp-4],eax
14: } while (nCount < nMax);
0040127F mov ecx,dword ptr [ebp-4];exc = nCount
00401282 cmp ecx,dword ptr [ebp-8];比较nCount 和 nMax的值
00401285 jl main+26h (00401276);跳转到循环体中
15: return 0;
00401287 xor eax,ea