Question: Hello my software should print the abc but unfortunately it does not work I think the problem is related to the line 19 so if someone could tell me why this is happening I appreciate it 

My code-

```
#include <stdio.h>
#include <string.h>

#define NUM_ABC_LET 27

void ABC(char abc[NUM_ABC_LET]);
int main()
{
    char abcString[NUM_ABC_LET] = "";
    ABC(abcString);
    puts(abcString);
}

void ABC(char abc[NUM_ABC_LET])
{
    char letter;
    for (letter = 'a'; letter <= 'z'; letter++)
    {
        strcat(abc, letter);
    }
}

```

Answer: 
That's because you're just writing to a copy of the string you're passing to the function. Try this:

```
void ABC(char *abc)
{
    int n=0;
    char letter;
    for (letter = 'a'; letter <= 'z'; ++letter, ++n)
    {
        abc[n] = letter;
    }
    abc[n] = '\0';
}

```

This way, you don't write to a copy of your string, you actually write to the string itself.
The second parameter of [srtcat](http://www.cplusplus.com/reference/cstring/strcat/) should be a `char *`.

```
void ABC(char abc[NUM_ABC_LET])
{
    char letter[2]="a";
    for (; *letter <= 'z'; (*letter)++)
    {
        strcat(abc, letter);
    }
}

```