#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE 30
char* invertStr(const char *source)
{
char *inverted
= malloc(sizeof(source
) * (size
+ 1));
int count = size;
for (int i = 0; i < size; i++)
{
inverted[i] = source[count];
count--;
}
inverted[size + 1] = ('\0');
return inverted;
}
int main(void)
{
char str[SIZE];
char str2[SIZE];
char *inverted = invertStr(str);
if (inverted == 0)
{
printf("NULL Pointer. Memory alocation error");
return -1;
}
printf("%s | %s\n", str
, str2
);
return EXIT_SUCCESS;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKI2RlZmluZSBTSVpFIDMwCgpjaGFyKiBpbnZlcnRTdHIoY29uc3QgY2hhciAqc291cmNlKQp7ICAgCiAgICBpbnQgc2l6ZSA9IHN0cmxlbihzb3VyY2UpOwogICAgCiAgICBjaGFyICppbnZlcnRlZCA9IG1hbGxvYyhzaXplb2Yoc291cmNlKSAqIChzaXplICsgMSkpOwoKICAgIGludCBjb3VudCA9IHNpemU7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspCiAgICB7CiAgICAgICAgaW52ZXJ0ZWRbaV0gPSBzb3VyY2VbY291bnRdOwogICAgICAgIGNvdW50LS07CiAgICB9CiAgICBpbnZlcnRlZFtzaXplICsgMV0gPSAoJ1wwJyk7CgogICAgcmV0dXJuIGludmVydGVkOwp9CgppbnQgbWFpbih2b2lkKQp7CiAgICBjaGFyIHN0cltTSVpFXTsKICAgIGNoYXIgc3RyMltTSVpFXTsKCiAgICBzY2FuZigiJTI5cyIsIHN0cik7CgogICAgY2hhciAqaW52ZXJ0ZWQgPSBpbnZlcnRTdHIoc3RyKTsKCiAgICBpZiAoaW52ZXJ0ZWQgPT0gMCkKICAgIHsKICAgICAgICBwcmludGYoIk5VTEwgUG9pbnRlci4gTWVtb3J5IGFsb2NhdGlvbiBlcnJvciIpOwoKICAgICAgICByZXR1cm4gLTE7CiAgICB9CgogICAgc3RyY3B5KHN0cjIsIGludmVydGVkKTsKCiAgICBwcmludGYoIiVzIHwgJXNcbiIsIHN0ciwgc3RyMik7CgogICAgZnJlZShpbnZlcnRlZCk7CgogICAgcmV0dXJuIEVYSVRfU1VDQ0VTUzsKfQ==