不知道自定义的函数哪里错了

刚刚开始自学C,用的vs,想编写一个可以将数组里字符串倒序排列的自定义函数,结果就不知道哪里错了

img


非常感谢

img

求中间字符下标num时错了,比如bit,中间字符下标是1,i为3,则(i+1)/2=2,所以i为奇数时,直接num=i/2即可。
偶数时,也是num=i/2

完整代码这里:【有用的话请采纳一下😁】

#include <stdio.h>
#include <math.h>

void as(char a[])
{

    int i = 0;
    for (i = 0; i < 100; i++)
    {
        if (a[i] == '\0')
            break;
    }

    int left = 0;      // 闭区间左端点位置
    int right = i - 1; // 闭区间右端点位置
    int num = 0;      
    num = (i - 1) / 2; // 中间位置

    int s = 0;
    for (s = 0; s <= num; s++)
    {
        int t = 0;
        t = a[left];
        a[left] = a[right];
        a[right] = t;
        left++;
        right--;
    }
}

int main()
{
    char arr[] = "12345678";
    as(arr);
    printf("%s\n", arr);
    return 0;
}

img