C语言 : lookup in char array

标签 c arrays char lookup

我正在自学C语言。有人可以给我提示以下问题吗? (只要有提示就可以了,我会从那里着手处理。)谢谢。

症状是打印的索引号总是0。

print("\n\n  Lookdown: start with a value and get the index of the match  \n");
  char myArrayOfLetters2[] = {'w','x','y','z'};
  char myLookUpValue = "y";
  int myResultIndexNumber;
  int myArrayCounter;

  for (myArrayCounter=0; myArrayCounter<sizeof(myArrayOfLetters2); myArrayCounter++){
    if (myArrayOfLetters2[myArrayCounter] == myLookUpValue){
            myResultIndexNumber=myArrayCounter;} //found
  } // loop thorugh all members of array
print("myLookUpValue of 'y' returned index number of %d",myResultIndexNumber);

最佳答案

char myLookUpValue = "y";

"y" 不是一个字符,它是一个字符串 (const char[])。在适当的时候,数组会衰减为指向其第一个元素的指针。您正在将该数组的地址(指向其第一个元素的指针)转换为 char(打开警告)。你想要:

char myLookUpValue = 'y';

关于C语言 : lookup in char array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21867357/

相关文章:

c - 使用自定义对函数在 c 中迭代 lua 表

php - 插入批处理数据数组?

c - 使用 fputc() 写入一个字节

c - 指针数组中的增量运算符有什么问题?

java - 为什么 Java 没有匿名映射或数组和列表?

c - 在结构中对 char* 进行排序 - 获取垃圾

string - Haskell 无法将预期类型 'String' 与实际类型 'Char' 匹配

计算数组元素的百分比

c - 如何使用宏参数声明变量

C While 循环未正确退出