gpt4 book ai didi

c - 使用 sizeof 作为数组下标时的警告

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

今天我决定使用 gcc -W -Wall 编译我的代码,它给了我一个我无法解决的警告。

我试图减少我一直使用的 #defines 的数量,并认为 sizeof() 会是答案。其他一切似乎都很好,只有这个警告,但这让我很困惑:

if (1)    // set random id string for this session
{
register unsigned int count, until=sizeof(session.id);
for (count=0;count<until;count++)
{ session.id[count]=randchar(); }
session.id[count]=0;
}

编译器给我这个警告:

warning: array subscript is above array bounds

谁能告诉我这是怎么回事?

最佳答案

你的错误是因为这个:

session.id[count]=0;

更改为:

session.id[count - 1]=0;

关于c - 使用 sizeof 作为数组下标时的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19603625/

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