程序出错,找不到问题在哪?——我给你方法

很多学习语言编程的道友在写程序都有这样一个感受:程序写完后,点击运行,却不是预期的结果。然后就困恼到底是哪里出错?今天我就这个问题,给道友们一些建议:
1、避免写代码马虎,发生低级错误
比如说本来是if(a==b),但是写的快,却写成了if(a=b);
本来是printf("%d",a)却少了%,scanf("%d",&a);却少了&等等问题。这些问题单独拿出来看,大家都说知道,但是当我们的程序很复杂的时候,我们就忽略了这些细节问题。有时候真的是这些细节会让你崩溃!!!
2、逻辑问题
这个问题也很常见,因为有的道友从头到尾看了一遍程序,没有语法问题,逻辑也清晰,感觉程序就应该是这样的,为什么还会错呢?主要分为以下情况:
(1)你认为的”正确的逻辑思路“根本不能解决问题
例如:用天平称重的问题,有的道友只知道一直两两分,然后得到答案,但实际上,这种思路得不到答案的!
(2)逻辑不具备普遍性
看起来你的逻辑适合大部分的数据,但是却没有考虑到特殊的情况,
举个最简单的例子:
输入任意数,求这个数各位数字之和,并用拼音表示出来,比如和为123,输出 yi er san;
看到这道题,有的道友立马想到用while循环来截取和的每一位,代码如下:

	while(sum!=0) {
			b[k++]=sum%10; //数组b存储各位数字
			sum=sum/10;
		}

然后提交就WA,因为他们没有考虑到while循环的条件,是当数不为0时才执行!而对于特殊的数字0,它各位数字和为0,按照这个程序逻辑就无法得出结果,所以需要单独考虑,改为:

if(sum==0)
		cout<<a[0]<<endl;
	else {
		while(sum!=0) {
			b[k++]=sum%10;
			sum=sum/10;
		}
	}

3、输入输出格式不对
这个问题很容易被忽略,而且也不容易发现。
比如:输出数据多了一个空格,或者多了一个空行,或者引号的格式不对之类的问题。
那么对于这种情况,需要道友们细心!

为了便于道友们向我咨询问题,特意开设了一个免费的知识星球——CaptianXue,星球提供学习、理财、生活、职场等各类文章和免费答疑!!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值