Value of memory changed without permission

前端 未结 3 1171
旧时难觅i
旧时难觅i 2021-01-29 07:01

I have an array with 2 dimensions and when I print the data of the array the first time, the date is printed correctly, but the other times the data of array[last][i] from i = 0

3条回答
  •  伪装坚强ぢ
    2021-01-29 07:44

    The problem as I see it is, you're looping over with a condition check like

     for (unsigned int i = 0; i <= numero; i++) 
    

    for an array defined as

    unsigned int p_a[numero];
    

    and you're going off-by-one. This is essentially invalid memory access which invokes undefined behavior.

    C arrays have 0-based indexing, so the valid limit would be

    for (unsigned int i = 0; i < numero; i++)
    

提交回复
热议问题