#include#include int a[10];//此处为全局变量数组,未初始化,则其默认值为0 int main () { //int a[10]={0}; 此处为局部变量数组,未初始化,则其为垃圾值 int c; while((c=getchar())!=EOF) //此处c=getchar()必须用括号括起,因为=的优先级最低,若不加括号,则a[]将一直被赋值为1 if(isdigit(c)) a[c-'0']++;//因为int类型数据按照ASCII码存储,即'0'的编码为48;此处有个小技巧,c-'0'或者c-48 for(int i=0;i<10;i++) printf("number is %dn",a[i]); }
话不多说,今天涨的经验全部在代码上
这是c语言书上p147 例6.2“统计数字字符出现次数”的例题
通过写这个例题我发现了自己很多之前学习的疏漏的地方,还有一些理解偏差,比如之前傻傻地以为在main函数底下定义的变量也是全局变量,到今天才纠正这个错误的理解。
还有就是对数据存储方式的疏忽,以后这些问题都要多注意。
最后,晚安>_<



