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: 
The problem is that the function `stdcat()` expects a null terminated string as second argument.

```
#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 letterStr[2];
    strcpy(letterStr, "x");
    for (char letter = 'a'; letter <= 'z'; letter++) {
        letterStr[0] = letter;
        strcat(abc, letterStr);
    }
}

```

Much simpler is this solution:

```
#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])
{
    for (int i = 0; i < 26; ++i) {
        abc[i] = 'a'+i;
    }
    // Add the terminating null character.
    abc[NUM_ABC_LET-1] = '\0';
}

```
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);
    }
}

```