我试过这个小代码在 IF 语句中使用复合文字:
#include<stdio.h>
struct time
{
int hour;
int minutes;
int seconds;
};
int main(void)
{
struct time testTimes;
testTimes = (struct time){12,23,34};
if (testTimes == (struct time){12,23,34})
printf("%.2i:%.2i:%.2i\n", testTimes.hour, testTimes.minutes, testTimes.seconds);
else
printf("try again !\n");
return 0;
}
它没有用。它在编译时给出了以下消息:
prac.c:15:16:错误:二进制 == 的无效操作数(具有“结构时间”和“结构时间”)
是否不允许在 IF 语句中使用复合文字或语法不正确?