#include <stdio.h>
#define Alphabet 26
struct Data
{
int iNum;
};
int main()
{
#if 0
int iNum = 0;
while(1)
{
iNum = (iNum++ % Alphabet);
printf("%d\n",iNum);
}
#else
Data data = {0};
while(1)
{
data.iNum = (data.iNum++ % Alphabet);
printf("%d\n",data.iNum);
}
#endif
return 0;
}
In #if
branch,print 1-26
;but in #else
branch,print 1,2,3,...
.
This is probably because add
and lea
assembly instructions,but why use different instructions? I'm not very clear about it.
So,if we must prevent coding in this style? like iNum = (iNum++ % Alphabet)
.