在c中关于数字型变量的存储

为什么学号要用字符数组来存储,而不是用一个long类型的数据来存储

因为学号不是数值,没有四则运算的需要。你不会拿两个学号相加,或者求学号的平均值。相反,学号会像别的字符串一样涉及模糊查询等操作。
学号可能超过10位(一些编译系统下long最大只有10位)
类似的,身份证号、电话等也应该用字符串类型。

1方便存储及读取部分信息
2方便扩展及管理