解読プログラムを書いていますが、不明な数の文字列をスキャンし、入力された各文字列をデコードする必要があります。EOF に達したら、プログラムを終了する必要があります。
プログラムを終了させるのに苦労しています。while ループ条件ステートメントの文字列の最初の文字をスキャンすると、これが実行されますが、条件ステートメントの下の実際の文字列をスキャンすると、文字列に最初の文字がありません。最初の文字をスキャンして、その文字を文字列の先頭に配置する必要がありますか?
私の状況でEOFを適切にテストするにはどうすればよいですか?
#include <stdio.h>
#include<string.h>
int main(void)
{
    int i;
    char code[300];
    while(scanf("%c", &code[0])!=EOF)
    {
        scanf("%s", code);
        for(i=0; i<strlen(code); i++)
        {
            decrypt message one char at a time
        }
        printf("\n");
    }
    return 0;
}