#include <stdio.h>

char strput(char *str){
while(*str){
putchar(*str);
*str++;
}
}

int main(void){
char str[20];

scanf("%s", str);

strput(str);
}

これは入力した文字を出力するプログラムなのですが、
6行目の「*str++」について疑問があります
もちろん、コンパイルすればエラーも出ずに結果も正常なのですが
「*」がない「str++」にしても同様にできました

そこで「*」がいるのかいらないのか分かりません
つける必要はないんでしょうか?