c语言取数字字符串的每一位数字放进数组

问题遇到的现象和发生背景

想要取一个字符串中的每一位放进数组

问题相关代码,请勿粘贴截图

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
char str[100] = "", s[100] = "";
int i = 0, j = 0;
gets(str);
while (str[i] != '\0')
{
if (isdigit(str[i])) {
s[j]=str[i];
j++;
}
i++;
}
printf("%d",s[0]);
return 0;
}

运行结果及报错内容

输入:222222
输出:49
然后尝试打印s[1]居然是50

我的解答思路和尝试过的方法
我想要达到的结果

你%d打印,50是字符2,你以%c打印