gpt4 book ai didi

3幅图像之间的比较

转载 作者:行者123 更新时间:2023-11-30 21:11:01 25 4
gpt4 key购买 nike

我想在 3 个不同的按钮上比较 3 个图像,Xcode 允许我一次比较 2 个图像,但是当我为 3 个图像编写代码时,它会发出警告“指针与整数的比较”

-(void)compare
{
if (b1.currentImage==b2.currentImage==b3.currentImage)
{


b1.enabled=NO;
b2.enabled=NO;
b3.enabled=NO;
NSLog(@"%@",b1.currentImage);
NSLog(@"%@",b2.currentImage);
}

else
{
UIImage *btnImage = [UIImage imageNamed:@"card.png"];
[b1 setImage:btnImage forState:UIControlStateNormal];

}

}

最佳答案

写作时通常会说:

a == b == c

这实际上归结为

(a == b) == c

因此,您将 ab 的比较结果(无论 a 和 b 的类型如何,都是 bool 类型)与 c 进行比较 无论 c 的类型是什么。

因此,在您的情况下,您将 b1.currentImage==b2.currentImage (其类型为 int)与 b3.currentImage 进行比较,其中是一个指针类型。

如果您想比较三个值是否相等,您必须编写:

(a == b) && (a == c) 而不是 a == b == c

尝试这个小程序并观察它打印出来的内容:

int main()
{
int a = 2, b = 2 , c = 2 ;

if ((a == b) && (a == c ))
{
printf ("(a == b) && (a == c ) is true") ;
}

if ((a == b == c))
{
printf ("(a == b == c) is true") ;
}

return 0 ;
}

它将打印

(a == b) && (a == c ) is true

因为(a == b == c)是这样计算的

1.  (a == b) == c
2. (2 == 2) == 2
3. 1 == 2
4. false

关于3幅图像之间的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26459921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com