奇妙なコンパイルエラーがいくつか発生します。これは宿題用です(ヘルプは大丈夫です)。アイデアは、ユーザーが1秒に1回「Enter」を押すことができるかどうかをテストするプログラムを実装することです。gettimeofdayを使用して、各「入力」の時間値を取得し、平均時間と標準偏差を確認することになっています...stdinで「\n」をチェックしてからtrue、gettimeofdayを使用してtimeval構造体にデータを入力し、後で使用するためにその構造体を配列に格納します...
コンパイル時に発生するエラー(gcc -Wextra homework1.c
)は次のとおりです。
homework1.c: In function ‘main’:
homework1.c:19:29: error: expected ‘]’ before ‘;’ token
homework1.c:27:17: error: expected ‘)’ before ‘;’ token
homework1.c:32:4: error: ‘entry_array’ undeclared (first use in this function)
homework1.c:32:4: note: each undeclared identifier is reported only once for each function it appears in
最初の2つの構文エラーが発生する理由がわかりません。また、「main」の先頭で「entry_array」を明確に宣言しているのに、なぜ「entry_array」が宣言されていないのか理解できません。提案?
timeval構造体の使い方がわからないのでやけどをしているような気がします...最初は他の構造体と同じように構造体timevalをグローバルに定義しようとしましたが、structtimevalの定義を上書きするときにエラーが発生しました。 。これは、「sys / time.h」ライブラリで定義されているためですか?
コードは次のとおりです。
GNU nano 2.2.6 File: homework1.c
//prototypes
int GetAverage(long array[]);
int GetStdDev(long array[]);
//# of keystrokes tracked by user
#define MAX_STROKES 1;
int main(int argv, char ** argc) {
struct timeval entry_array[MAX_STROKES]; //container for tv_usec fields from timeval struct
double average = 0;
double std_deviation = 0;
int count = 0;
printf("This program will test your ability to hit enter every 1 second, for 10 seconds. Ready when yo$
//loop to build array of timeval's
while (count < MAX_STROKES) {
struct timeval time_val;
int input = getc(stdin);
if (input == '\n') {
gettimeofday(&time_val, NULL);
entry_array[count] = time_val;
++count;
}
}
return 0;
}