文章目录
  1. 数组越界
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    #include<stdio.h>
    void sortArray(int* nums, int numsSize)
    {
    for(int i0=0;i0<numsSize;i0++)
    {
    int Min=nums[i0];
    int pos=i0;
    for(int j1=i0;j1<numsSize-1;j1++) //j1<numsSize-1 不然下面 if对比会导致数组越界: j1+1越结值为0,会让下面if条件 跟0做对比!
    {
    if(nums[j1]>nums[j1+1])//j1+1
    {
    Min=nums[j1+1];
    pos=j1+1;
    }
    }
    int temp=nums[i0];
    nums[i0]=Min;
    nums[pos]=temp;
    // for(int it=0;it<numsSize;it++)
    // {
    // printf("[%d] ",nums[it]);
    // }
    // printf("\n");
    }
    }
    int main()
    {
    int arr[8]={3,4,5100,23,4,5,0,-1};
    sortArray(arr,8);
    printf("\nresult-------->\n");
    for(int it=0;it<8;it++)
    {
    printf("[%d] ",arr[it]);
    }
    printf("\n");
    return 0;
    }
文章目录