gpt4 book ai didi

c - 无法在 C 函数中返回 'true' 值

转载 作者:行者123 更新时间:2023-12-01 14:18:15 25 4
gpt4 key购买 nike

如果我尝试使用以下函数 (e2CheckPINoverride) 来检查输入的 5 字节数组 (p) 与存储在闪存(数据)中的 5 字节数组,以简单地返回 true 或 false 值。但似乎,无论我尝试什么,它都只会返回“false”。

我在这里调用函数:

if (e2CheckPINoverride(pinEntry) == 1){
PTDD_PTDD1 = 1;
}
else{
PTDD_PTDD1 = 0;
}

函数如下:

BYTE e2CheckPINoverride(BYTE *p)
{
BYTE i;
BYTE data[5];

if(e2Read(E2_ENABLECODE, data, 5)) {
if(data[0] != p[0]) return FALSE;
if(data[1] != p[1]) return FALSE;
if(data[2] != p[2]) return FALSE;
if(data[3] != p[3]) return FALSE;
if(data[4] != p[4]) return FALSE;
}
return TRUE;
}

我已经在 defines.h 文件中分配了 true 和 false:

#ifndef TRUE
#define TRUE ((UCHAR)1)
#endif

#ifndef FALSE
#define FALSE ((UCHAR)0)
#endif

在哪里

typedef unsigned char   UCHAR;

当我单步执行代码时,它正确地执行了所有检查,它传入了正确的值,正确地比较了它,然后在正确的点中断,但是无法处理返回值 true?

请帮忙?

最佳答案

#define TRUE 1
#define FALSE 0

忘记无符号字符。您可以假设在 c 0 中为假,其他一切都为真

关于c - 无法在 C 函数中返回 'true' 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2492104/

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