1、项目6-撞错练习

1. 任务描述
在能正确运行的程序基础上,“捣乱”制造些错误,在C::B中编译,观察并记录错误提示,积累面对错误的经验。

下面是可以“制造”的错误:
(1)将第6行sum=a+b; 一行末尾的分号去掉
(2)将第4行int a,b,sum;改为int a, b;
(3)将第7行printf写为 Printf,注意p和P不同
(4)将第6行sum=a+b; 改为sum=ab; 即漏写了加号
(5)将第9行程序最后的右花括号 } 删除
(6)将第4行int a,b,sum; 改为imt a,b,sum;

2. 代码实现

#include <stdio.h>
int main()
{
	int a, b, sum;
	scanf("%d %d",&a,&b);
	sum = a + b
	printf("sum= %d",sum);
	return 0;
} 

3. 运行结果

(1)将第6行sum=a+b; 一行末尾的分号去掉
①错误提示:
在这里插入图片描述
②分析与解决:在 printf 前面添加 ; 即可。

(2)将第4行int a,b,sum;改为int a, b;
①错误提示:
在这里插入图片描述
②分析与解决:添加对变量 sum 的声明。

(3)将第7行printf写为 Printf,注意p和P不同
①错误提示:
在这里插入图片描述
②分析与解决:printf 写成 Printf 后,编译器把它看作变量,但是程序里没有用到这个变量,我们看到这样的提示应该清楚是printf 关键字写错了,把P改为p就可以。

(4)将第6行sum=a+b; 改为sum=ab; 即漏写了加号
①错误提示:
在这里插入图片描述
②分析与解决:编译器说变量 ab 没有声明,这里的 ab 是一个整体,回去看程序就会发现漏写 + 了。另外,ab 在代码里出现时永远表示一个变量,不代表 a 和 b 相乘,这就提醒我们在写乘法运算表达式的时候一定不能漏掉 * (即a*b)。

(5)将第9行程序最后的右花括号 } 删除
①错误提示:
在这里插入图片描述
②分析与解决:根据提示,在程序最后加上反大括号 } 。

(6)将第4行int a,b,sum; 改为imt a,b,sum;
①错误提示:
在这里插入图片描述
②分析与解决:可以看到,这时编译器把 imt , a, b, sum,全部当做变量来处理了,但是程序中用到的变量只有 a, b, sum, 再看程序的时候就可以发现 int 被写成 imt 了,改回来程序就可以正常运行。

4. 心得
(1)编译程序出现错误时,应该立刻查看错误提示,对于编译环境给出的语法错误之类的问题可以按照提示迅速改正;对于一些逻辑上出错导致程序无法运行的情况,就需要重新整理思路,分析问题根源了。
(2)有可能会遇到编译可以通过的存在错误的程序,那时直面问题、冷静分析就更加重要了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值