Here is some sample code I am playing around with:

```
#include <iostream>

int main() {

    char string[] = "hello";
    char *test = string;

    int count = 0;
    *test++ = count + '0';
    count++;
    *test++ = count + '0';

    std:: cout << test << std:: endl;

}

```

The output is **llo**. 

I know this is probably very simple but I am confused about this line of code: `*test++ = count + '0';`. If `count = 0`, what does adding the `'0'` do (adding a zero)? And when evaluating `*test++`, the position of test is first incremented, and then dereferenced? What exactly is it being assigned?