1


現在、CodeChef から問題を解決しようとしていますが、ループ内で fgets() を使用すると問題が発生します。

最初の入力 (T) は、ユーザー入力の数を含む正の整数になります。
次に、改行文字で区切られたユーザーは、どのような状況でも長さが 10 未満の文字列を入力します。

だから、私はこれを試しました:

#include <stdio.h>
#include <stdlib.h>

#define SIZE 10

int main()
{
    int T;
    int diffX, diffY;
    char s[SIZE];

    scanf("%d", &T);

    while (T--){
        fgets(s, SIZE, stdin);
        printf("%s\n", s);
    }
    return 0;
}

ただし、次の入力でコードをテストしようとしたとき:

3
ハロー
・ハイ・
ホワット

「こんにちは」までしか入力できず、プログラムは正常に終了しました(0を返します)。

これはなぜですか?どうすれば修正できますか?


kparkさん、よろしくお願いします。

4

3 に答える 3