C语言 用于计数器目的的数组内容比较



我试图在数组和给定字符串之间建立比较。这个想法是,如果我开始构建包含多个对象的结构,我可以在该结构中测试一个关键字,并设置一个计数器来查看该元素在该结构中包含的频率。

虽然这似乎不起作用,因为我得到的终端输出是"ohnoo"。因此,我认为第8行中的比较有问题。

编译器认为下面的代码没有问题,所以我很难找到一个解决方案。

下面是一段简单的代码,我试着用它来测试这个想法。

#include <stdio.h>
#include <string.h>
char string1[10] = "Automatic";
int main()
{
if(string1 == "Automatic")
{
printf("huzzahn");
}
else{
printf("ohnoon");
}
}

C中的字符串不能以这种方式进行比较。而是用strcmp。否则,使用==,您将确定它们是否指向内存中的相同位置,而不是它们的内容是否相同。

#include <stdio.h>
#include <string.h>
char string1[10] = "Automatic";
int main()
{
if (strcmp(string1, "Automatic") == 0)
{
printf("huzzahn");
}
else{
printf("ohnoon");
}
}

最新更新