gpt4 book ai didi

c - 调试中的枚举在步骤后没有值

转载 作者:太空宇宙 更新时间:2023-11-04 07:48:11 26 4
gpt4 key购买 nike

我有一个枚举:枚举结果 {OK,ERROR}; - 例如。我有一个功能:

enum Result ReturnAEnumValue() {
}
  • f.e返回 OK 或 ERROR。

然后在 main(){} 中我创建了一个枚举类型:

enum Result eResult; 
eResult = Result();

为什么在单步执行后在我的调试器中我在 eResult 中没有任何值?例如,如果我之前给 eResult 一个值:枚举结果 eResult = 错误;它有效。

enum Result {OK,ERROR}; 
enum Result eHexStringToUInt(char pcStr[], unsigned int *puiValue) {
unsigned char ucCharCounter;
if ((pcStr[0] != '0' )||( pcStr[1] != 'x')||( pcStr[2]== '\0' ) || (pcStr[6] != '\0')){
return ERROR;
}
*puiValue = 0;
for (ucCharCounter = 2; ucCharCounter< 6 ; ucCharCounter++)
{
*puiValue = *puiValue << 4;
if (pcStr[ucCharCounter] < 'A')
{
*puiValue = *puiValue | (pcStr[ucCharCounter] - '0');
}
else
{
*puiValue = *puiValue | (pcStr[ucCharCounter] - 'A' + 10);
}
}
return OK;
}


int main()
{
unsigned int uiValue = 65000;
char cHexStr[12] = "0xF5A7";
enum Result eReturnValue;
eReturnValue = eHexStringToUInt(cHexStr , &uiValue);
}

A debuuger info

最佳答案

由于您的代码不使用此值,因此任何优化级别都会强制编译器对其进行优化。因此,请尝试以某种方式使用您的变量(例如 printf ir);

关于c - 调试中的枚举在步骤后没有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55602038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com