搜索
查看: 1515|回复: 4
打印 上一主题 下一主题

提个建议吧

[复制链接]
跳转到指定楼层
楼主
发表于 2013-5-1 00:32:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
教材中的找错题目,要求是“找出若干处”错误,但是一个语句中的错误应该算作多少次,并不是那么明显的问题

例如81页中的找错:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.   int a,b;
  6.   scanf("%d %d",&a,&b);
  7.   t=a;
  8.   b=a;
  9.   b=t;
  10.   printf("%d %d",a,b);
  11.   system("pause");
  12.   return 0;
  13. }
复制代码
两行有错,一个是
  1. int a, b, t;
复制代码
另一个是 第8行的
  1. a=b;
复制代码
这一行需要修改两个字符,所以一个statement中的错误是算作一处?

但是37页的找错问题
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.   system(color f2)
  6.   print("hi");
  7.   system("pause");
  8.   return 0;
  9. }
复制代码
这里的4处错误,看上去有3处都在
  1. system("color f2");
复制代码
这一个statement中,如果说双引号和分号分别算作两处,还比较容易理解,但是两个双引号算作两处,就不是呢么自然而然的事情了,容易造成误解。

所以个人建议,把"xx处错误" 改成 "xx行错误",就不会产生这种歧义

评分

参与人数 1啊哈币 +10 收起 理由
啊哈磊 + 10 赞一个!

查看全部评分

沙发
发表于 2013-5-1 11:57:03 | 只看该作者
不错呀   +U
板凳
 楼主| 发表于 2013-5-1 17:25:47 | 只看该作者
还有另外一个建议
程序保存的时候,如果在文件名里包含了 .
那么.c的扩展名就不会被加上,然后就无法编译了
地板
 楼主| 发表于 2013-5-10 01:29:09 | 只看该作者
快要沉了
啊哈磊给个回应吧
5#
发表于 2013-5-12 18:03:34 | 只看该作者
system(color f2)
这里的两个错误是 1没有写双引号,2没有打分号
system(“color f2”);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表