したがって、100 バイトを含むバイナリ ファイルが与えられます。INVALID が原因でエラーが発生するはずだと確信していますが、そうでないのはなぜですか? INVALID に入るとセマンティック エラーが発生するのではないかと混乱しています。それとも私は何かを誤解していますか
/* VALID */ fseek(fp, sizeof(char) * 2, SEEK_SET);
/* VALID */ fseek(fp, -2 * sizeof(char), SEEK_END);
/* INVALID */fseek(fp, sizeof(char)* 2, SEEK_END);
/* INVALID */fseek(fp, -2 * sizeof(char), SEEK_SET);
/* INVALID */fseek(fp, 50, SEEK_CUR);
/* VALID */ fseek(fp, -50, SEEK_CUR);
/* INVALID */ fseek(fp, 51, SEEK_CUR);
/* INVALID */ fseek(fp, -51, SEEK_CUR);