编程序有歧义性,怎么解决

来源:百度知道 编辑:UC知道 时间:2024/06/15 07:25:16
编好一个程序,输入一个值输出正确,之后又输入另一个值,输出错误.我写的练习题有很多这样的情况.应该怎么解决啊
~~~~~~~~~~~~~
我现在在学数据结构,我是应该写程序,还是看书,如果写程序的话往往会为了个算法苦想3天,或一个星期,导致我没时间看书.

楼主,告诉你两个个事实
第一个事实是:真正的高手,更多功夫花在程序的调试.如果从一 开始就想着编程一定要一步到位,没有出错,那是天真,也是坏习惯.
要练功底,就要多找找程序的错误.
还有一个事实是:编程是一种习惯,是一种经验.它像小孩玩积木,是随你的意愿拼的.

学编程开始会遇到瓶颈,即书基本上看完,但遇到程序题却不知从何做起,勉强做完了,又发现很多错误.这时候应该学着查错误,你查出来的错误,就是你的经验,以后在这个地方你就会注意了.经验越是丰富的人,越是那些错过很多次的人,而且每次错误都被认真思考过.

还有一些题能加深你对编程语言的理解.我就想到下面一题,其他的,还是要你自己去多做.
int i=5,j=8;
printf("%d,%d,%d",i++,--j,++i,j--);

如果不知道输出是什么,可以上机去调试一下.
想一想为什么会是这种输出,然后你会对
这个函数和C的一些规则更加的了解.

一般来说,如果在一个系统平台上运行程序的话,结果是不会变化的,但是在不同的平台上运行,结果可能有差异,刚看到你的问题,可能是你的代码中可能出现了不确定的定义函数,如随机数什么的!

对程序设计的人来说,其实熟悉整个流程是最重要的,其次才是写代码,算法只是为了解决某一个特定的问题而设计的代码片段!先多看看书吧,明白别人的算法的思想,才是最主要的!

程序找错最好借助编译器调试,设置断点一句一句的检查每个时刻各变量的值。这样虽然烦琐却很准确,如果你有经验,能够猜测出大概哪句出的问题,效率就高多了。程序排错不借助编译器而自己冥思苦想是完全不可行的!
看书不能停断,但是也绝对要多写程序,实践很重要(一般先看书再关了书写程序)。如果自己花很多时间都找不到错误最好求助于人,好多错误一个人是发现不了的。这方面要不停总结经验,加油吧。

如楼上所说,应该是你的程序对数据输入不同情况的判断不够完善吧?

思维是慢慢培养起来的,结合起来把,当你写的多了,读的多了,调试的多了

你会发现你的进步是会很快的,一开始