Question: I wrote this code to reverse strings. It works well, but when I enter short strings like "american beauty," it actually prints "ytuaeb nacirema2." This is my code. I would like to know what is wrong with my code that prints a random 2 at the end of the string. Thanks

```
// This program prompts the user to enter a string and displays it backwards.

#include <iostream>
#include <cstdlib>
using namespace std;

void printBackwards(char *strPtr); // Function prototype

int main() {
    const int SIZE = 50;
    char userString[SIZE];
    char *strPtr;
    cout << "Please enter a string (up to 49 characters)";
    cin.getline(userString, SIZE);
    printBackwards(userString);

}

//**************************************************************
// Definition of printBackwards. This function receives a      *
// pointer to character and inverts the order of the characters*
// within it.                                                  *
//**************************************************************

void printBackwards(char *strPtr) {
    const int SIZE = 50;
    int length = 0;
    char stringInverted[SIZE];
    int count = 0;
    char *strPtr1 = 0;
    int stringSize;
    int i = 0;
    int sum = 0;

    while (*strPtr != '\0') {
        strPtr++; // Set the pointer at the end of the string.
        sum++; // Add to sum.
    }
    strPtr--;

    // Save the contents of strPtr on stringInverted on inverted order
    while (count < sum) {
        stringInverted[count] = *strPtr;
        strPtr--;
        count++;
    }
    // Add '\0' at the end of stringSize
    stringInverted[count] == '\0';

    cout << stringInverted << endl;
}

```

Thanks.

Answer: 
Your null termination is wrong. You're using `==` instead of `=`. You need to change:

```
stringInverted[count] == '\0';

```

into

```
stringInverted[count] = '\0';

```
```
// Add '\0' at the end of stringSize
stringInverted[count] == '\0';

```

Should use `=` here.