Вы должны сообщить нам, что типы для suit
и hand
предназначены для struct card
- это может повлиять на то, как они должны сравниваться (в частности, если они указатели).
Кроме того, вы должны сообщить нам, какие данные вы передаете, какой результат вы получаете и чего ожидаете. Например, если вы раздаете в руке 5 карт, две из которых одинаковы, мне кажется, что вы вернете 1 (что может быть тем, что вы ожидаете, но вы можете ожидать 2 - я не знаю). Это потому, что вы не учитываете карту, на которую указывает i
. Опять же - нужно ли вам, зависит от того, какой результат вы хотите / нуждаетесь.
Но другой пример, который почти наверняка не тот, который вам нужен, это если вы раздаете в руке 5 карт, каждая из которых одинакова. Вы можете ожидать результата 5 (или, может быть, 4), но вы получите 10, потому что когда:
i == 0, you count the 4 dupes
i == 1, you count the next 3 cards as dupes again
i == 2, the next 2 get counted again,
etc...