gpt4 book ai didi

c - 在字符串数组中查找字符串。 (C代码)

转载 作者:行者123 更新时间:2023-11-30 17:04:42 25 4
gpt4 key购买 nike

我有这个模板。

#include <stdio.h>
#include <string.h>
#define SIZE 10
int findTarget(char *target, char nameptr[SIZE][80], int size);
int main()
{
char nameptr[SIZE][80];
char t[40];
int i, result, size;

printf("Enter no. of names: ");
scanf("%d", &size);
printf("Enter %d names: ", size);
for (i = 0; i<size; i++)
scanf("%s", nameptr[i]);
printf("Enter target name: ");
scanf("\n");
gets(t);
result = findTarget(t, nameptr, size);
printf("findTarget(): %d\n", result);
return 0;
}
int findTarget(char *target, char nameptr[SIZE][80], int size)
{
/* write your code here */
int i;
for (i = 0; i < size; i++) {
if (nameptr[i] == *target)
return i;
}
return -1;
}

/* write your code here */下的代码是我的代码。该代码不起作用。我认为 (nameptr[i] == *target) 有问题。

输出示例:

Enter no. of names: 4
Enter 4 names: Peter Paul John Mary
Enter target name: John
findTarget(): 2

Enter no. of names: 4
Enter 4 names: peter mary john steve
Enter target name: may
findTarget(): -1

我认为该模板是正确的,因为它是学校提供的。

感谢您的帮助。

最佳答案

这个:

if (nameptr[i] == *target)

是错误的,因为您正在将指针与整数进行比较,这是没有意义的。另外,为了比较两个字符串,请使用 strcmp 。使用 == 将比较指针而不是它们的内容。

修复:

if (strcmp(nameptr[i], target) == 0)

关于c - 在字符串数组中查找字符串。 (C代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35594312/

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