好的,最近一道测试题要求学生编写一个名为“longhead”(char *longhead)的方法,该方法将返回一个字符串,其中包含给定字符串中所有头部的连接。例如:
char *string = "this";
printf("%s\n", longhead(string));
输出:tththithis
我想到了一个解决方案,但仅适用于数组,并且在主方法内。我一直在努力掌握指针,通过重复这些测验问题,我相信我一定会找到正确的位置。
有没有其他解决方案?或者...可以仅使用“strlen”来完成吗?
更新:
这是我编写的仅适用于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]);
}