gpt4 book ai didi

有符号和无符号整数表达式之间的比较 [-Wsign-compare] 警告

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

for ( i= 0; i < sizeof(r)/sizeof(r[0]); ++i ){ 
r[i]= 0;
}

这就是我遇到问题的 for 循环,我该如何重写它,这样我就不会收到警告:

comparison between signed and unsigned integer expressions [-Wsign-compare]

最佳答案

sizeof() 返回 size_t 类型的无符号整数。因此使用相同类型的索引。

size_t i;
for (i = 0; i < sizeof(r)/sizeof(r[0]); ++i) {
r[i] = 0;
}

建议不要使用int size = sizeof(r)/sizeof(r[0]);size_t的范围可能大大超过int的正值范围。分配可能会丢失重要位。

size_t 是最适合索引数组变量的类型。但请记住,由于它是一些无符号整数,因此它不能表示负索引。

关于有符号和无符号整数表达式之间的比较 [-Wsign-compare] 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25345883/

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