代ç 1:
struct demo
{
int a;
}d[2];
int main()
{
d[0].a=5;
d[1]=d[0];
return 0;
}
æ¤ä»£ç å¯ä»¥æ£å¸¸ä½¿ç”¨
代ç 2:
struct demo
{
int a;
}d[2];
int main()
{
d[0].a=5;
d[1]=d[0];
if(d[0]==d[1])
{
printf("hello");
}
return 0;
}
æ¤ä»£ç æ供错误
error: invalid operands to binary == (have 'struct demo' and 'struct demo')
为什么在代ç 2ä¸å‡ºçŽ°æ¤é”™è¯¯ï¼Ÿ
ç”案 0 :(得分:6)
Cä¸æ”¯æŒç»“构比较。您必须通过é€ä¸ªæ¯”较所有æˆå‘˜æ¥è‡ªè¡Œæ¯”较结构。
ç”案 1 :(得分:3)
您需è¦è‡ªå·±æ¯”较结构的æˆå‘˜ï¼Œå¦‚下所示:
if(d[0].a ==d[1].a)
结构ä¸æ˜¯ç›¸ç‰çš„有效æ“作数(==
),æ“作数必须是算术类型或指针。我们å¯ä»¥åœ¨draft C99 standard部分6.5.9
å¹³ç‰è¿è¥å•†ä¸çœ‹åˆ°è¿™ä¸€ç‚¹ï¼š
 Â以下其ä¸ä¸€é¡¹åº”æˆç«‹ï¼š