C语言中对于条件if(a[i])如果i值为-1,那么该if条件是否应该判定为执行后面的else部分

C语言,计算机编程,软件工程
2025-04-26 07:02:07
推荐回答(4个)
回答1:

不会的——因为定义数组时,下标表示数组长度(元素个数),所以不得为负数;而在引用数组元素时并不要求下标必须为非负,所以[-1]只表示下标为0的元素前面的一个元素。故这时要看0元素前面的那个元素值是否为0,不为0则不执行else部分,为0则执行else部分。供参考……

回答2:

尝试了下,不会报错,但是数组越界了,a[-1]的值变得不确定,和分配内存时原来的数据有关,是个随机数,如果不是0的话,if执行,是0的话不执行

回答3:

C语言中,整数0即为假,其他非零整数均等效于真

回答4:

越界了,是很严重的后果,这种情况不能够编译吧