Что такое логика c за результатами?
strcmp
сравнивает символы в строках, используя их значения как unsigned char
. Во-первых, он сравнивает первый символ одной строки с первым символом другой. Если они отличаются, он сообщает, что первая строка «меньше» второй, если его символ меньше, чем другой, и сообщает «больше чем», если символ первой строки больше. Если символы равны, то strcmp
сравнивает вторые символы строк, затем третий и так далее. (Если одна строка короче другой, но идентична до конца, нулевой символ, заканчивающий ее, приведет к тому, что она будет меньше другой строки.)
Итак, есть ли способ сравнить две строки чисел без сопоставления их фактических целочисленных значений?
Для этого не существует стандартной библиотечной процедуры. Вы могли бы написать рутину для этого.