Например,Метод в C для проверки самой длинной совпадающей строки?
У меня есть строка: 7364jruf62
У меня также есть динамический 2d массив: (7, 4f6, 73, 2)
мне нужно пройти через строку и найти длинная совпадающая строка из массива (7 из строки может совпадать с 7 из массива, но 73 будет лучшим совпадением, так как это 2 цифры). Затем перейдите к остальной части строки, чтобы попытаться найти совпадения из массива (поскольку 73 было лучшим совпадением, которое мы теперь просматриваем через 64jruf62 в строке).
Причина, по которой массив является динамическим, поэтому я могу добавить соответствующее значение для строки в конце.
Я попытался сделать это в цикле с
for (i = 1; i <= numberOfStrsInArray; i++) {
count = 0;
shift = 0;
while (string[shift] == array[i][count]) {
shift++;
count++;
Однако, это не работает, и вместо того, чтобы программа падает из-за этой линии. Может ли кто-нибудь сказать мне, почему это приводит к сбою моей программы или предложению лучшего решения для того, что я пытаюсь сделать? Благодарю. Я могу предоставить больше кода из моей программы, если предоставленный фрагмент не ясен.
* Вопросы, требующие отладочной помощи («почему этот код не работает?») Должны включать e желаемое поведение, конкретная проблема или ошибка и кратчайший код, необходимый для воспроизведения в самом вопросе. Вопросы без четкого описания проблемы не полезны для других читателей. * Показать [mcve] –