C “错误”;无效初始值设定项“;

C “错误”;无效初始值设定项“;,c,struct,C,Struct,这是一个将秒转换为秒-分-小时的程序。当我试图编译它时,在“struct time_t malko=times(a);”上出现了一个错误“Invalid initializer”(无效初始值设定项),请有人帮助 另外,我必须只使用结构,而不是指针或其他任何东西 #包括 结构时间{ 浮动秒; 整数分钟,小时; }; 结构时间\u t最快时间(浮动时间[3]){ int i; int prom; 结构时间马尔科; 对于(i=0;itimes[i]){prom=times[i];} } 马尔科秒=p

这是一个将秒转换为秒-分-小时的程序。当我试图编译它时,在“struct time_t malko=times(a);”上出现了一个错误“Invalid initializer”(无效初始值设定项),请有人帮助 另外,我必须只使用结构,而不是指针或其他任何东西


#包括
结构时间{
浮动秒;
整数分钟,小时;
};
结构时间\u t最快时间(浮动时间[3]){
int i;
int prom;
结构时间马尔科;
对于(i=0;itimes[i]){prom=times[i];}
}
马尔科秒=prom%60;
prom=prom/60;
malko.min=prom%60;
prom=prom/60;
malko.hours=prom%60;
返回马尔科;
}
int main(){
浮点a[3]={3423123434232};
结构时间=时间(a);
printf(“\n%d%d%f”,malko.hours,malko.min,malko.sec);
返回0;
}

结构时间马尔科=最快时间(a)而不是
struct time\u t malko=times(a)

时间未定义为主要时间。
(这里的输出:)

struct time\u t malko=最快时间(a)而不是
struct time\u t malko=times(a)

时间未定义为主要时间。
(这里的输出:)

(1)什么是
时间
这里
struct time\u t malko=times(a)?我没有看到名为
times
(2)
prom
的函数是在调用UB的
循环的
的第一次迭代中初始化的。您知道
time\u t
是标准类型吗?即使结构标记(名称)存在于它们自己的名称空间中,将结构作为标准类型使用相同的名称也会导致混淆。如果您尝试使用函数参数名称作为实际函数名称,那么您肯定会绝望地从头开始。如果您使用
times
,因为它是
最快时间
函数中的参数名,那么您将如何尝试调用具有两个或多个参数的函数?请注意,请不要使用带
printf
的前导换行符。改为使用尾随换行符。首先,它将确保输出是实际写入的,如果从命令行运行,那么输出将不会与提示符写入同一行。
time\t
已被c库使用。您应该为您的结构找到另一个名称,我建议使用标准类型,例如
timeb
(1)这里
times
是什么
struct time\u t malko=times(a)?我没有看到名为
times
(2)
prom
的函数是在调用UB的
循环的
的第一次迭代中初始化的。您知道
time\u t
是标准类型吗?即使结构标记(名称)存在于它们自己的名称空间中,将结构作为标准类型使用相同的名称也会导致混淆。如果您尝试使用函数参数名称作为实际函数名称,那么您肯定会绝望地从头开始。如果您使用
times
,因为它是
最快时间
函数中的参数名,那么您将如何尝试调用具有两个或多个参数的函数?请注意,请不要使用带
printf
的前导换行符。改为使用尾随换行符。首先,它将确保输出是实际写入的,如果从命令行运行,那么输出将不会与提示符写入同一行。
time\t
已被c库使用。您应该为您的结构找到另一个名称,我建议使用标准类型,例如c库中已经定义的
timeb
time\t
。重复使用该名称将导致后续问题。
time\t
已在c库中定义。重复使用该名称将导致今后的问题。
#include <stdio.h>

  struct time_t {
  float sec;
  int min,hours;
};

struct time_t fastest_time (float times[3]){
     int i;
     int prom;
     struct time_t malko;
     for(i=0;i<3;i++) {
     if(prom>times[i]) {prom=times[i];}
}
    malko.sec=prom%60;
    prom=prom/60;
    malko.min=prom%60;
    prom=prom/60;
    malko.hours=prom%60;

   return malko;
}


int main () {
   float a[3]={3423,1234,34232};
   struct time_t malko=times(a);
   printf("\n %d %d %f", malko.hours, malko.min, malko.sec);

   return 0;
}