我试图在数组和给定字符串之间建立比较。这个想法是,如果我开始构建包含多个对象的结构,我可以在该结构中测试一个关键字,并设置一个计数器来查看该元素在该结构中包含的频率。
虽然这似乎不起作用,因为我得到的终端输出是"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");
}
}