Мне задали вопрос с двумя частями. Часть A заключалась в том, чтобы перевернуть слова в строке с помощью строковых манипуляций, для которых я использовал strcpy и strcat. Однако для части B я должен перевернуть слова с помощью указателей. Теперь у меня есть код, показанный ниже. Я на правильном пути?Обратные слова в строке с помощью указателей
Мысль за моей функцией заключается в том, что у меня есть исходная строка string1
, и у меня есть указатель на начальный символ, а затем итерация по строке до тех пор, пока я не ударил пустое пространство, давая мне размер слова. Затем я помещаю это слово в конец моей новой строки.
Код:
partb(char * string1, int s)
{
int i=0, j=0, k=0, count=0;
char temp[100]={0}, *sp=string1;
for(i=0; i<=s; i++)
{
if(isalnum(string1[i]))
{
k=i;
break;
}
break;
}
for(i=0; i<=s; i++)
{
if(isalnum(string1[i]))
{
count++;
}
else if(string1[i] == ' ')
{
for(j=0; j<=count; j++)
{
}
}
}
}
Go один, пока не врезался в стену, а затем вернуться с вопросом, как продолжить. – alk
«Часть A ... Я использовал' strcpy' и 'strcat'. Разве не разрешено определять вашу версию' strcpy' и 'strcat' с помощью арифметики указателей? Другими словами, разрешено ли сокращать часть В до части А? – nodakai
@AndrewRicci Спасибо, что приняли мой ответ. Не могли бы вы также упредить его? –