c语言出现乱码,为什么这个输出会乱码?

fputc是针对字符的吧 你把int型的a换成char型,赋值一个字符试试

向文件中格式化输入得用fprintf();函数原型你百度一下

你对这个回答的评价是?

你对这个回答的评价是

下载百度知道APP,搶鲜体验

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

ASCII码值128以后的称为扩展ASCII码在小型電脑开发的初期,就已经严格地建立了8位元位元组因此,如果使用一个位元组来保存字元则需要附加的字元来补充ASCII。扩展ASCII 码允许将每個字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号

然而,较高的128个代码中的某些总是跟随着第二个字节这两个字節一起(称作首字节和跟随字节)定义一个字符,通常是一个复杂的象形文字这些代码遵循了ANSI草案和ISO标准。

基本的 ASCII 字符集共有 128 个字符其中有 96 个可打印字符,包括常用的字母、数字、标点符号等另外还有 32 个控制字符。标准 ASCII 码使用 7 个二进位对字符进行编码对应的 ISO 标准为 ISO646 標准。下表展示了基本 ASCII 字符集及其编码: 字母和数字的 ASCII 码的记忆是非常简单的我们只要记住了一个字母或数字的 ASCII 码(例如记住 A 为 65 , 0 的 ASCII 码為 48 )知道相应的大小写字母之间差 32 ,就可以推算出其余字母、数字的 ASCII 码 虽然标准 ASCII 码是 7 位编码,但由于计算机基本处理单位为字节( 1byte = 8bit )所以一般仍以一个字节来存放一个 ASCII 字符。每一个字节中多余出来的一位(最高位)在计算机内部通常保持为 0 (在数据传输时可用作奇偶校验位) 由于标准 ASCII 字符集字符数目有限,在实际应用中往往无法满足要求为此,国际标准化组织又制定了 ISO2022 标准它规定了在保持与 ISO646 兼嫆的前提下将 ASCII 字符集扩充为 8 位代码的统一方法。 ISO 陆续制定了一批适用于不同地区的扩充 ASCII 字符集每种扩充 ASCII 字符集分别可以扩充 128 个字符,这些扩充字符的编码均为高位为 1 的 8 位代码(即十进制数 128~255 )称为扩展 ASCII 码。

都是不可显示字符所以打出来是乱码,你然你叫F1键怎么显示?

你让ch等于300 过了255它会从头算起

也就是说相当于你输出的是ascii码为74的字符 也就是大写的J

他已经回答了问题的本质,提问的既然了解ASCII码,应该明白才對,

下载百度知道APP,抢鲜体验

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

我要回帖

更多关于 c语言出现乱码 的文章

 

随机推荐