gpt4 book ai didi

c - C中的函数帮助

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

我将多次重复使用这段代码,所以我想使用它。功能。我不确定这些指针是如何工作的。我的目标是检查 mneumonic 是否等于 strings_label_table 中的任何值。如果 mneumonic 等于我想设置的值之一 string_equal_flag = 1 并返回它,如果未设置 return string_not_flag = 1; 并返回它。或者我可以从函数中设置它吗?这在我的主要工作中非常有效。

char *strings_label_table[503] = {0};
char *strings_mneumonic_table[503] = {0};
char mneumonic[20] = {0};

int hashLetter(char mneumonic)
for(i = 0; i < 50; i++)
{
//printf(" i is %d \n", i);
if(strings_label_table[i] != NULL)
{
if(strcmp (strings_label_table[i], mneumonic) == 0)
{
printf(" strings_label_table[i] is equal\n");
printf(" strings_label_table[i] is %s \n", strings_label_table[i]);
//printf(" nam is %s \n", nam);
return string_equal_flag = 1;
break;
}
//printf(" Top if 2 \n");
}
if(i == 49)
{
return string_not_flag = 1;
//printf(" set string_not_flag\n");
}
}

最佳答案

我试图了解您要使用此功能做什么。这些是我的评论:

 int hashLetter(const char *mneumonic) 
/* the func argument needs to be a char pointer,
* not just one char
*/
{
for (int i = 0; i < 50; i++) {
if (strings_label_table[i] != NULL) {
if(strcmp (strings_label_table[i], mneumonic) == 0) {
printf(" strings_label_table[i] is equal\n");
printf(" strings_label_table[i] is %s \n", strings_label_table[i]);
//printf(" nam is %s \n", nam);
return string_equal_flag = 1; /* returns 1 */
}
//printf(" Top if 2 \n");
}
}
/* You can just return after the loop */
return string_not_flag = 1; /* returns 1 */
}

请注意,此函数始终返回 1,因此返回值根本没有多大意义。也可能是无效的。

   return string_equal_flag = 1;
/* Is the same as */
return (string_equal_flag = 1);

表达式 string_equal_flag = 1 的计算结果为 1

关于c - C中的函数帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22739266/

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