One common idiom is:
char* c = source;
while (*c) putchar(*c++);
A few notes:
*c++
increments c
and returns the dereferenced old value of c
.printf("%s")
prints a null-terminated string, not a char. This is the cause of your access violation.