下面一C段代码,由于i为无符号整型(DWORD型),其值不可能小于0,所以for循环永远不会结束:
DWORD i;
i = dwInstanceListSize - 2;
for(;i>=0;i--)
{
if(szInstanceListBuffer[i] == (TCHAR)'/0')
{
arrayLen++;
}
}
编Java代码习惯了(Java里没有无符号型),故写C程序的时候不慎就出了BUG。这个BUG倒是挺有意思,或许里面有可以研究的问题。
下面一C段代码,由于i为无符号整型(DWORD型),其值不可能小于0,所以for循环永远不会结束:
DWORD i;
i = dwInstanceListSize - 2;
for(;i>=0;i--)
{
if(szInstanceListBuffer[i] == (TCHAR)'/0')
{
arrayLen++;
}
}
编Java代码习惯了(Java里没有无符号型),故写C程序的时候不慎就出了BUG。这个BUG倒是挺有意思,或许里面有可以研究的问题。