c - 0xC000005 读取时访问冲突,在 C 中使用 strcmp

标签 c string multidimensional-array

我是 C 的初学者,我正在编写一个程序来查找字符串中字符的频率。我在这里遇到访问冲突,但我无法解决。它在 while 循环中,我正在循环以获取在字符串数组中找到的每个唯一字符并将其存储在另一个字符中。我可以在这里帮忙吗?提前致谢。

int main()
{
    char str[5][10];
    int i=0, j=0, k, l=0;
    char chh[10];
    strcpy(chh, "a");   while (l < 5)
{

    if (strcmp(chh[i],str[l][j]) != 0) <--- access violation in this line.
    {
        chh[i] == str[l][j];
        i++;
    }

    if (j >= 9)
        j = 0;
        l++;

    j++;
 }




}

最佳答案

您正在使用 strcmp 比较两个字符。

http://www.cplusplus.com/reference/cstring/strcmp/

int strcmp ( const char * str1, const char * str2 );

你应该只删除那个 strcmp 并直接比较两个字符

chh[i] == str[l][j]

已编辑

你可能想要

if (j >= 9){
    j = 0;
    l++;
}

关于c - 0xC000005 读取时访问冲突,在 C 中使用 strcmp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22131770/

相关文章:

javascript - 比较javascript中的多维数组

c++ - 来自 std::unordered_set<char> 的有效构造 std::string

php - var_export 到字符串

java - java中的2个数组的联合?

c++ - g++ 关于声明多维双数组的警告

java - 镜像带有字符串参数的方法

c - 哪种有符号整数除法对应位移位?

c - "if(*((void **) &(_ptr)) != (void *) NULL) "检查什么?

c - 带有未声明变量的 Typedef 结构

在本地临时目录中编译目标文件