gpt4 book ai didi

cocoa - NSU整数转int

转载 作者:行者123 更新时间:2023-12-03 16:27:16 28 4
gpt4 key购买 nike

我编写了一个使用 myarray 的方法,该方法在同一个类中定义。当我使用 count 时,它总是返回 0。当我使用时:

printf("%d", [myarray count]);

编译器说:

Format '%d' expetcs type 'int', but argument 2 has type 'NSUInteger'

为什么?

最佳答案

您应该使用%lu 而不是%d。编译器根据您传递给 printf 的参数检查格式字符串,发现您传递的是无符号但将其打印为有符号整数,并发出警告。该警告表明,对于大于或等于 2^31 的数字,当数据类型暗示不同的语义(即大的正整数)时,printf 将输出大的负数。

已编辑以回应 Josh Caswell 和 thepepp 的评论

关于cocoa - NSU整数转int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8809515/

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