配列の長さを入力するようにユーザーに促し、この入力で char[] 配列を初期化し、char[] 配列に入力するメッセージを入力するようにユーザーに促しています。
ユーザーのメッセージの最初の文字を で読んでいますgetchar()
。
ただし、ユーザー入力を読み取る前にgetchar()
改行エスケープを読み取っています。ユーザーにプロンプトを表示する
前のステートメントから'\n'
取得しているようです...
関連するコードは次のとおりです。'\n'
printf
#include <stdio.h>
int main(void) {
int len = 0,
originalLen = 0;
printf("\n\nWhat is the length of the array? ");
scanf("%d", &originalLen);
char str[originalLen]; // intitializing the array
printf("Enter a message to enter into the array: ");
char target = getchar();
str[len] = target;
// why is getchar() reading '\n'?
if (target == '\n') {
printf("\n...what happened?\n");
}
return 0;
} // end of main