Так лучше не делать. И вот почему(VC6++):
| Цитата | 1: #include "stdio.h" 2: #include "io.h" 3: #include "sys/types.h" 4: #include "sys/stat.h" 5: #include "fcntl.h" 6: #include "string.h" 7: #include <stdlib.h> 8: 9: typedef unsigned char BYTE; 10: 11: void main(void) 12: { 00401010 push ebp 00401011 mov ebp,esp 00401013 sub esp,48h 00401016 push ebx 00401017 push esi 00401018 push edi 00401019 lea edi,[ebp-48h] 0040101C mov ecx,12h 00401021 mov eax,0CCCCCCCCh 00401026 rep stos dword ptr [edi] 13: int Ineger_As_Index; 14: BYTE byte_As_Index; 15: 16: 17: for (Ineger_As_Index=0;Ineger_As_Index<10;Ineger_As_Index++); 00401028 mov dword ptr [ebp-4],0 0040102F jmp main+2Ah (0040103a) 00401031 mov eax,dword ptr [ebp-4] 00401034 add eax,1 00401037 mov dword ptr [ebp-4],eax 0040103A cmp dword ptr [ebp-4],0Ah 0040103E jge main+32h (00401042) 00401040 jmp main+21h (00401031) 18: for (byte_As_Index=0;byte_As_Index<10;byte_As_Index++); 00401042 mov byte ptr [ebp-8],0 00401046 jmp main+41h (00401051) 00401048 mov cl,byte ptr [ebp-8] 0040104B add cl,1 0040104E mov byte ptr [ebp-8],cl 00401051 mov edx,dword ptr [ebp-8] 00401054 and edx,0FFh 0040105A cmp edx,0Ah 0040105D jge main+51h (00401061) 0040105F jmp main+38h (00401048) 19: 20: printf("start ! \n");
|
Обрати внимание на "ужирнение" кода в случае использования BYTE вместо integer. |