0

我试图用来strcmp与存储在称为索引的结构数组中的字符串进行比较。该索引包含一个称为网页的字符串和一个称为排名的整数。这个想法是比较两个索引并创建第三个索引,其中包含前两个索引之间相同的网页以及它们各自排名的总和。

问题是,当我使用 for 循环查找索引之间的相似页面数时,它总是返回 7。它应该只返回 4。我是否错误地使用了这个函数?

int 相同 = 0;

for(i = 0; i < 8; i++) {
    for(j = 0; j < 7; j++) {
        if(strcmp(hotels[i].webpage,seattle[i].webpage) == 0) {
             thesame++;
         }
    }
}
printf("%d\n", thesame);

return 0;

我也知道我有很多硬编码的长度值,这不是好的编码习惯。我计划在更改此设置之前让程序正常工作。

4

1 回答 1

7
if (strcmp (hotels[i].webpage, seattle[i].webpage) == 0)

您正在使用索引i两次。我猜你想要的是类似的东西:

if (strcmp (hotels[i].webpage, seattle[j].webpage) == 0)
---------------------------------------^----------------
于 2013-02-26T17:53:38.747 回答