文字列入力を受け付けて、それをstrという変数に代入する…というプログラムを書きたいのですが、知りたいことがあって以下のような条件を課させていただきます。

・for文を使い、その中でscanf(“%c”,str[i])により1文字ずつ文字をstrの各配列に格納していくこと
・文字数は最大50文字までとし、たとえば「abcd」などのように4文字であった場合も、abcdと入力→Enterが押された時点で、その文字列をstrに代入して、その4文字を表示して完了とする
・if文を使ってそれを実現すること


#include<stdio.h>
int main(void){
int i,str[50];
for(i=0;i<50;i++){ //入力処理
scanf(“%c”,str[i]);
}
for(i=0;i<50;i++){ //出力
printf(“%c”,str[i]);
}
}

このコードだと、「abcd」と入力してEnterを押しただけでは、出力されません。(50文字入力されるまで入力受け付け状態から遷移しない)
どのように改良すればよいでしょうか?