MFC从Edit控件输入一个一维数组,保存到s1,并且显示到静态文本IDC_ct上?该如何解决

MFC从Edit控件输入一个一维数组,保存到s1,并且显示到静态文本IDC_ct上?
IDC_ct)是一个静态文本。IDC_EDIT2是编辑框控件。
我在调试运行的时候,输入了一个0001.s1[]全部都是0.

但是在静态文本上显示出来的ch3,也就是由s1[]用itoa函数转换过来的结果却不一样。
下面是程序代码。求高手帮我修改一下
可以从edit控件获取一维数组,并且保存到s1,再显示到静态文本上。谢谢了

C/C++ code
int s1[10];//定义一个长度为10的数组,用来存放输入的数组
int lens;//数组长度
void CCyber2Dlg::Ons0() 
{
    // TODO: Add your control notification handler code here
    int i;
    char s0[10];
    char ch3[10];
    int s1[10];
    GetDlgItemText(IDC_EDIT2,s0,10);
    lens = strlen(s0);
    if(lens!=4)
    {
        MessageBox("初始状态S0不符合要求,请重新输入!");
    }
    
    else
        {
            for(i=0;i<lens;i++)
            {
                if(s0[i]=='0' || s0[i]=='1')
                {
                    s1[i]=atoi(s0[i]);
                }
                else 
                    MessageBox("初始状态S0不允许出现0,1以外的数字,请重新输入");
                itoa(s1[i],&ch3[i],10);
            }
            
            GetDlgItem(IDC_ct)->SetWindowText(ch3);
            UpdateData(TRUE);
        }
        
}


------解决方案--------------------
探讨

你定义的char s0[10];


函数atoi(const char *nptr);

你这个能编译通过?

------解决方案--------------------
也可以
//s1[i]=atoi(s0[i]);
s1[i]=s0[i]-48;
------解决方案--------------------
我看了,里面的值都是正确的
你调试的时候不会是把断点放在了s1[i]=s0[i]-48;这行吧
只有执行下一行的时候才能看里面的值