gpt4 book ai didi

比较字符串和指针

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

对于我正在上的类(class),我仍在努力研究 C 中的指针和字符串。在下面的示例中,g_reservations[][] 是一个全局变量(我知道这并不理想,但我无法更改它)。

错误:警告 C4047“函数”:“const char *”的间接级别与“char”EconoAirBeta ... 299

*passenger是一个指针,那么创建一个指向全局的指针呢?这似乎是不必要的......

我该怎么做?我觉得我错过了一些我的大脑似乎无法理解的非常简单的概念....

unsigned int FindSeatWithPassenger(const char *passengerName)
{
unsigned int seat = 0;
for (seat = 0; seat < NUM_SEATS; ++seat)
{
if ( strncmp(passengerName, g_reservations[seat][0], NAME_LENGTH) != 0) //error here with global variable
{
return seat;
break;
}
}
return '\0';
}

全局声明:

#define NAME_LENGTH 10
#define NAME_BUFFER_LENGTH ( NAME_LENGTH + 1 )
char g_reservations[NUM_SEATS][NAME_BUFFER_LENGTH];

最佳答案

类型错误

正如错误所说。

g_reservations[seat][0] 是一个 char

int strncmp(const char *s1, const char *s2, size_t n) 期望 s2char *

使用 &g_reservations[seat][0] 或简单地使用 g_reservations[seat]

strncmp(passengerName, g_reservations[seat], NAME_LENGTH)

关于比较字符串和指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58781238/

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