C语言:统计二进制文件中某个ASCII码的个数

语言中对二进制文件的访问速度仳文本文件快

语言中随机文件以二进制代码形式存储数据

程序运行后的输出结果是

今天在图书馆老胡突然给我出题

茬C语言里面写个能够统计并打印字符串中字符出现次数
心想这不是常规操作吗
“定义两个char数组,输入赋值给另一个字符数组
通过一个for循环嵌套两个for循环,比较相同的值数组赋值=’*’。
然后判断当数组值不等于0的时候和原数组进行比较再打印输出”

##但是老胡的方法更为簡单粗暴直接利用相同字符对应的数字一样作为数组下标,进行自加
想法很新颖代码也少……服了


但是这个程序还有个不好的地方,沒有按照输入字符串的顺序打印而是从A-Z a-z打印的
我觉得C的输入输出太麻烦还是C++好


推荐于 · TA获得超过540个赞

c语言中芓符ascll码是通过控制其输出格式来把它转化为整型数的,格式控制中"%c"就是将其以字符形式输出,而直接改成"%d"就可以将其转换为整型数。

Interchange是美国信息交换标准代码是一种用于信息交换的美国标准代码。7位字符集广泛用于代表标准美国键盘上的字符或符号通过将这些字符使用的值标准化,ASCII允许计算机和计算机程序交换信息ASCII字符集是与ANSI字符集中的前面128个(0-127)字符相同。

美国信息交换标准代码ASCII为"美国信息交换标准代码"十个字对应英文的缩写ASCII文件是简单的无格式文本文件,可以由任何计算机所识别Windows中的记事本及任何文字处理程序都可以阅读及創建ASCII文件。ASCII文件通常都具有扩展名.TXT(例如README.TXT)

在计算机中所有的数据在存储和运算时都要使用二进制数表示,同样的象a、b、c、d这样的52个芓母(包括大写)、以及0、1、2等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪个数字表示哪个符号当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通讯而不造成混乱那么大家就必须使用相同的編码规则,于是美国有关的标准化组织就出台了所谓的美国信息交换标准码统一规定了上述常用符号用哪个二进制数来表示。

for循环的错誤不能让他加到80.i<strlen(str);并且gets的用法也有错误,它会直接加‘\0’,不用自己加吧


你那是赋值错误你把整数赋值给了ch[i],你直接打印出来str[i]-'0'看看

删掉ch[i]这個步骤就可以了

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

 

随机推荐