我收到了一些奇怪的编译错误。这是一个家庭作业(帮助是好的)。这个想法是实现一个程序来测试用户每秒点击一次“输入”的能力。我应该使用 gettimeofday 来获取每个“输入”的一些时间值,然后找出平均时间和标准偏差......我试图通过检查标准输入的 '\n' 来做到这一点,然后如果是的,使用 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
我不明白为什么会出现前两个语法错误,然后我不明白为什么在“main”开头明确声明“entry_array”时未声明它。建议?
我觉得我因为不知道如何使用 timeval 结构而被烧毁......最初我尝试像使用任何其他结构一样全局定义 struct timeval,但是在覆盖 struct timeval 的定义时遇到错误。 .这是因为它是在“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;
}