Possible Duplicate:
Uninitialized values being initialized?

void Encrypt( FileContent *pFile )
{
    /* Get the key total ascii value */
    DWORD asciiKeyValue;

    for (DWORD i=0; i < pFile->keyLength; i++)
    {
        asciiKeyValue += pFile->encKey[i];
    }

    _tprintf(_T("[*]DEBUG The encKey ascii value is: %ld\n"), asciiKeyValue);
}

430时,我得到了DWORD asciiKeyValue的输出,但是一旦DWORD asciiKeyValue = 0230时,它就应该是。
有人对此有解释吗?asciiKeyValue变量在未指定显式值时是否获得随机值?

最佳答案

它不是随机的。当您声明您的DWORD时,它在其地址的内存中有以前的任何内容。除非将内存初始化为某些内容(如0),否则不会清除内存。

07-24 09:49