char a[100]={0}; 问题 为什么这个操作会初始化char数组?它是指把100个元素全部置为0吗? 原因 K&R数组初始化(4.9)节: ——如果初始化表达式的个数比数组元素少,则对外部变量、静态变量和自动变量来说,没有初始化的表达式的元素将被初始化为0。 对char来说,0就对应了ASCII空字符(NULL),其实就是’\0’,判断一个字符串是否结束就是看是否遇到’\0’。 扩展: '0’对应ASCII码的48,遇到字符转数字,例如把’8’转为数字8,可以:“ 8+‘0’”。