char str[] = {'0'};这只是定义了一个字符的数组啊,所以后面函数里str[i++]肯定越界写入错误既然要存储10个字符,那至少定义为char str[11] = {0};
下标越界 检查使用数组情况