关于#字符数组#的问题,如何解决?

问题相关代码

char arr1[] = "abcdefgh~!@";
int size = (sizeof(arr1) / sizeof(arr1[0]));//计算数组元素个数
for (int i = 0; i < size; i++)
{
printf("%c ", arr1[i]);
}
printf("\n%d\n",size);
char arr2[20];
for (int i = 0; i
{
arr2[i] = "1";
printf("%c ", arr2[i]);
}
//printf("%c\n",arr2);
return 0;

运行结果及报错内容

不报错 打印arr2的运行结果是打印了一串问号 想请教各位这是为什么

我想要达到的结果

想输出在字符数组arr2中存放和arr1相同元素个数的"#"字符 但是

arr2[i] = "1";
这个写法不行啊,"1"是字符串,arr2[i]是char类型,不可以赋值啊。而且上面的for循环代码都不完整