スペースを含む文字列を入力したい。while( (c = getchar()) != '\n' && c != '\0');
私は gets() を使用しましたが、問題を引き起こす可能性のある改行文字 [using ] を既に処理しています。しかし、最初の gets() はいくつかのはぐれ文字を入力します! また、ランダムな文字列scanf( "%[^\n]s", a)
の代わりに使用すると、保存されます! gets()
誰かが理由を見つけるのを手伝ってもらえますか?
コードは次のとおりです。
printf(" \n Enter the string");
while( (c =getchar()) != '\n' && c != '\0');
gets(a); // some garbage string is stored in a....if i replace it with scanf()...then also garbage string is stored
printf(" \n The ENTERED string is %s", a);
printf("\n Enter the substring to be extracted (max 20) ");
while( (c =getchar()) != '\n' && c != '\0');
gets(sub);