Chars являются целыми числами длиной 8 бит, поэтому, если вы всегда рассматриваете символы как ints, это будет иметь точный характер, который вы желаете. Будьте осторожны, поскольку некоторые компиляторы разрешают char по умолчанию без знака, некоторые - к подписанному, что может создавать проблемы, казалось бы, случайным образом. (Если оба номера имеют одинаковый бит наивысшего порядка, это не повлияет, в противном случае результат будет противоположным тому, что вы ожидаете, если подписанность также противоположна тому, что вы ожидаете.)
Если вы рассматривая их как символы, тогда это даст вам их лексикографическое сравнение, основанное на внутреннем целочисленном представлении этого персонажа. Может быть, хорошо проверить, что такое ваш язык - будет ли ваша программа использовать таблицы поиска ASCII или Unicode 8-бит или что-нибудь еще.
Если у вас все еще есть скрытые проблемы, распространенная ошибка заключается в многоуровневых указателях, и хотя стрелка [->] используется повсюду, вам все равно придется применять де-ссылку [*], иначе вы тайно будет проверять их относительные местоположения в памяти.
'' 3 '>' 2'' верно, являются ли они символами или ints. но '' 6 '>' H'' будет ложным, так как это 'ascii (54)> ascii (72)' –
Будьте осторожны, чтобы 'char' мог быть подписан или без знака в зависимости от того, где вы находитесь. – FatalError
Короткий ответ: он будет работать – RockOnRockOut