#include <stdio.h>
#include <stdlib.h>
size_t findLength(char array[]);
size_t findLength(char array[]) {
size_t i = 0;
for (i = 0; array[i] != '\0'; i++) {
}
return i;
}
char* arrayToString(char **string, size_t size);
char* arrayToString(char **string, size_t size) {
size_t bigSize = 0;
size_t len;
size_t i = 0, j, k;
for (j = 0; j < size; j++) {
bigSize += findLength(string[j]);
}
char *bigstring
= malloc(bigSize
+ 1); for (j = 0; j < size; j++) {
len = findLength(string[j]);
for (k = 0; k < len; k++) {
bigstring[i++] = string[j][k];
}
}
bigstring[i] = '\0';
return bigstring;
}
int main(void){
char *color[] = { "red", "blue", "red" };
char *bigstring = arrayToString(color, 3);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnNpemVfdCBmaW5kTGVuZ3RoKGNoYXIgYXJyYXlbXSk7CnNpemVfdCBmaW5kTGVuZ3RoKGNoYXIgYXJyYXlbXSkgewogICAgc2l6ZV90IGkgPSAwOwogICAgZm9yIChpID0gMDsgYXJyYXlbaV0gIT0gJ1wwJzsgaSsrKSB7CiAgICB9CiAgICByZXR1cm4gaTsKfQoKY2hhciogYXJyYXlUb1N0cmluZyhjaGFyICoqc3RyaW5nLCBzaXplX3Qgc2l6ZSk7CmNoYXIqIGFycmF5VG9TdHJpbmcoY2hhciAqKnN0cmluZywgc2l6ZV90IHNpemUpIHsKICAgIHNpemVfdCBiaWdTaXplID0gMDsKICAgIHNpemVfdCBsZW47CiAgICBzaXplX3QgaSA9IDAsIGosIGs7CiAgICBmb3IgKGogPSAwOyBqIDwgc2l6ZTsgaisrKSB7CiAgICAgICAgYmlnU2l6ZSArPSBmaW5kTGVuZ3RoKHN0cmluZ1tqXSk7CiAgICB9CiAgICBjaGFyICpiaWdzdHJpbmcgPSBtYWxsb2MoYmlnU2l6ZSArIDEpOwogICAgZm9yIChqID0gMDsgaiA8IHNpemU7IGorKykgewogICAgICAgIGxlbiA9IGZpbmRMZW5ndGgoc3RyaW5nW2pdKTsKICAgICAgICBmb3IgKGsgPSAwOyBrIDwgbGVuOyBrKyspIHsKICAgICAgICAgICAgYmlnc3RyaW5nW2krK10gPSBzdHJpbmdbal1ba107CiAgICAgICAgfQogICAgfQogICAgYmlnc3RyaW5nW2ldID0gJ1wwJzsKICAgIHJldHVybiBiaWdzdHJpbmc7Cn0KCmludCBtYWluKHZvaWQpewogICAgY2hhciAqY29sb3JbXSA9IHsgInJlZCIsICJibHVlIiwgInJlZCIgfTsKICAgIGNoYXIgKmJpZ3N0cmluZyA9IGFycmF5VG9TdHJpbmcoY29sb3IsIDMpOwogICAgcHJpbnRmKCIlc1xuIiwgYmlnc3RyaW5nKTsKICAgIGZyZWUoYmlnc3RyaW5nKTsKICAgIHJldHVybiAwOwp9