今天我决定用 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
谁能告诉我这有什么问题?