鱼C论坛

 找回密码
 立即注册
查看: 940|回复: 7

[已解决]C文件问题

[复制链接]
发表于 2020-7-24 16:28:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<stdio.h>
  2. #include<stdlib.h>

  3. int main()
  4. {
  5.     FILE *fp;
  6.     char str[10];
  7.     fp = fopen("myfile.dat","w");
  8.     fputs("abc",fp);
  9.     fclose(fp);
  10.     fp = fopen("myfile.dat","a+");
  11.     fprintf(fp,"%d",28);
  12.     rewind(fp);
  13.     fscanf(fp,"%s",str);
  14.     puts(str);
  15.     fclose(fp);
  16. }
复制代码

这段代码为什么会输出abc28,其中的28不是用整型格式化输出的吗?这其中是怎么操作最后输出abc28的?
最佳答案
2020-7-24 16:33:24
本帖最后由 liuzhengyuan 于 2020-7-24 16:34 编辑

你不就是在用 整型格式化 吗?

第 12 行
  1. fprintf(fp,"%d",28);
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-7-24 16:31:36 | 显示全部楼层
数字可以变成字符(数字也有ascll码)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-24 16:33:24 | 显示全部楼层    本楼为最佳答案   
本帖最后由 liuzhengyuan 于 2020-7-24 16:34 编辑

你不就是在用 整型格式化 吗?

第 12 行
  1. fprintf(fp,"%d",28);
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-24 17:02:28 | 显示全部楼层
xiaosi4081 发表于 2020-7-24 16:31
数字可以变成字符(数字也有ascll码)

我使用整型输入的28,那么变成字符也应该是28对应的ascii码啊,为什么会输出28。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-24 17:15:08 | 显示全部楼层
老牛来学习 发表于 2020-7-24 17:02
我使用整型输入的28,那么变成字符也应该是28对应的ascii码啊,为什么会输出28。

我使用整型输入的28,那么变成字符也应该是28对应的ascii码啊,为什么会输出28。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-24 17:21:53 | 显示全部楼层
老牛来学习 发表于 2020-7-24 17:15
我使用整型输入的28,那么变成字符也应该是28对应的ascii码啊,为什么会输出28。

你看看 3L 我的回答
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-24 19:36:32 | 显示全部楼层
liuzhengyuan 发表于 2020-7-24 17:21
你看看 3L 我的回答

我的理解是比如我用整型输入一个65,那么我用字符打出来的应该是A,为什么我这里以整型输入28,给它加到字符串里,打印出来的还是28?没理解您回答什么意思
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-25 10:16:36 From FishC Mobile | 显示全部楼层
本帖最后由 liuzhengyuan 于 2020-7-25 10:19 编辑
老牛来学习 发表于 2020-7-24 19:36
我的理解是比如我用整型输入一个65,那么我用字符打出来的应该是A,为什么我这里以整型输入28,给它加到 ...


因为你用是 %d 而不是%c。

这叫格式化
就是把其他数据类型转换为字符
但是不是所有转换都是根据 ascii 来的

%c 是根据 ascii 来的
但 %d 不是
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-10 04:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表