ОК, недавняя запись викторины поручила студенту написать метод longhead (char * longhead), который бы возвращал строку, состоящую из конкатенации всех голов в данной строке. Пример:
char *string = "this";
printf("%s\n", longhead(string));
ВЫХОД: tththithis
Я придумал решение, но оно работает только с массивами и находится внутри основного метода. Я пытался действительно хорошо закрепиться на указателях, и я чувствую, что, повторяя эти вопросы викторины, я определенно попаду в нужное место.
Есть ли решение для этого? В качестве альтернативы ... это можно сделать просто используя 'strlen'?
UPDATE:
Вот решение, которое я написал, которое работает только с массивом char и находится внутри основного метода:
char *toPrint = "roses";
int i, j = strlen(toPrint);
char toPrintArray[j];
for(i = 0; *toPrint != 0; toPrint++, i++){
toPrintArray[i] = *toPrint;
}
int k;
for(i = 0; i < j; i++){
for(k = 0; k < i; k++)
printf("%c", toPrintArray[k]);
}