鱼C论坛

 找回密码
 立即注册
查看: 679|回复: 9

[已解决]选择题

[复制链接]
发表于 2020-4-18 22:01:55 | 显示全部楼层 |阅读模式

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

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

x
12C3706F178FE7D62A9A9C837311F960.png


这题的答案是多少,谢谢!
最佳答案
2020-4-19 13:20:34
先贴两个代码

  1. #include <stdio.h>

  2. int main(void) {
  3.     FILE *fp;
  4.     int i, k, n;
  5.     fp = fopen("data.dat", "w+");
  6.     for(i = 1; i < 6; i++) {
  7.         fprintf(fp, "% d ", i);
  8.         if(i % 3 == 0) fprintf(fp, " \n");  // 这个 \n 前面是不是有空格,真的不好说,这里就加上吧
  9.     }
  10.     rewind(fp);
  11.     fscanf(fp, "% d% d", &k, &n);
  12.     printf("% d% d \n", k, n);      // 在这个字体下,看不出那是不是空格,这里也加上吧,不过貌似这个不是空格
  13.     fclose(fp);
  14.     return 0;
  15. }
复制代码

  1. #include <stdio.h>

  2. int main(void) {
  3.     FILE *fp;
  4.     int i, k, n;
  5.     fp = fopen("data.dat", "w+");
  6.     for(i = 1; i < 6; i++) {
  7.         fprintf(fp, "%d ", i);      // 这个 d 后面是不是有空格?
  8.         if(i % 3 == 0) fprintf(fp, "\n");  // 写这本书的作者,很不负责任,这个 \ 应该是中文的, % 也是中文的
  9.     }
  10.     rewind(fp);
  11.     fscanf(fp, "%d%d", &k, &n);     // 这里应该是 '%d%d',不是 '% d% d'
  12.     printf("% d% d\n", k, n);
  13.     fclose(fp);
  14.     return 0;
  15. }
复制代码


第二个代码就是这道题的答案,你运行一下第二个代码就知道答案了
还有,这种问题
你上机试一试就知道了,还要我们帮你把代码从书上抄到计算机上测试吗?

最后,再一次批评作者的不负责任,也许你可以考虑换一本书了
这种不负责任的作者写的书,不值得你看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-18 23:10:20 | 显示全部楼层
D
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-18 23:21:52 | 显示全部楼层

不对,选B,开始没仔细看,这里是123\n45,所以存入文件的是123\n45,scanf遇到空格或者换行停止读出,所以k=123,n=45
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-19 11:03:31 | 显示全部楼层
123\n45写入文件,读出123\n并将123赋予k,读出45赋予n,所以printf('%d%d\n',k,n);就是12345
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-19 11:29:06 | 显示全部楼层
love_qj 发表于 2020-4-18 23:21
不对,选B,开始没仔细看,这里是123\n45,所以存入文件的是123\n45,scanf遇到空格或者换行停止读出,所 ...

我算的也是12345,但是答案是12,为什么,答案错了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-19 11:30:10 | 显示全部楼层
麻麦皮 发表于 2020-4-19 11:03
123\n45写入文件,读出123\n并将123赋予k,读出45赋予n,所以printf('%d%d\n',k,n);就是12345

我算的也是12345,但是答案是12,为什么,答案错了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-19 13:20:34 | 显示全部楼层    本楼为最佳答案   
先贴两个代码

  1. #include <stdio.h>

  2. int main(void) {
  3.     FILE *fp;
  4.     int i, k, n;
  5.     fp = fopen("data.dat", "w+");
  6.     for(i = 1; i < 6; i++) {
  7.         fprintf(fp, "% d ", i);
  8.         if(i % 3 == 0) fprintf(fp, " \n");  // 这个 \n 前面是不是有空格,真的不好说,这里就加上吧
  9.     }
  10.     rewind(fp);
  11.     fscanf(fp, "% d% d", &k, &n);
  12.     printf("% d% d \n", k, n);      // 在这个字体下,看不出那是不是空格,这里也加上吧,不过貌似这个不是空格
  13.     fclose(fp);
  14.     return 0;
  15. }
复制代码

  1. #include <stdio.h>

  2. int main(void) {
  3.     FILE *fp;
  4.     int i, k, n;
  5.     fp = fopen("data.dat", "w+");
  6.     for(i = 1; i < 6; i++) {
  7.         fprintf(fp, "%d ", i);      // 这个 d 后面是不是有空格?
  8.         if(i % 3 == 0) fprintf(fp, "\n");  // 写这本书的作者,很不负责任,这个 \ 应该是中文的, % 也是中文的
  9.     }
  10.     rewind(fp);
  11.     fscanf(fp, "%d%d", &k, &n);     // 这里应该是 '%d%d',不是 '% d% d'
  12.     printf("% d% d\n", k, n);
  13.     fclose(fp);
  14.     return 0;
  15. }
复制代码


第二个代码就是这道题的答案,你运行一下第二个代码就知道答案了
还有,这种问题
你上机试一试就知道了,还要我们帮你把代码从书上抄到计算机上测试吗?

最后,再一次批评作者的不负责任,也许你可以考虑换一本书了
这种不负责任的作者写的书,不值得你看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-4-19 21:48:23 | 显示全部楼层

感谢感谢,我自己也在这本书上找出了好多错误,某院校的指定教材...,家里就这一本书,先凑活着看吧,下次贴代码,麻烦了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-19 21:52:17 | 显示全部楼层

知道为什么错了,它那个%d后面的空格太不明显了,所以就忽视掉了那个空格,感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-19 22:00:16 | 显示全部楼层
老牛来学习 发表于 2020-4-19 21:52
知道为什么错了,它那个%d后面的空格太不明显了,所以就忽视掉了那个空格,感谢!

学编程一定要细心,像我这样的细心,^_^
我就没有忽略掉那个空格,而且还发现了那个 % 和 \ 是中文的
^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-4 14:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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