全部问题 > 当前问题

这个程序没看懂,能帮讲解一下吗?

2015-8-23 10:55:43

共 2 个回答

最佳答案

浅↑夏忆↓瞬 2015-8-23 13:55:34

这个改错题是求三个数的最小公倍数。

在C语言中,改错题的错误位置一般在/************found************/之后一行

此题为例

1.定义函数的错误,fun(int x,int y, int z)或int fun(int x,int y,int z)

2.返回值的错误,应改为return j;   因为j即为最小公倍数

此题程序分析:

首先定义了一个函数fun(int  x, y, z )

其中又定义了整型变量j,t,n,m,其中t,m,n分别为你所输入的三个数,通过一个while循环,算出这三个数的最小公倍数

然后通过return返回值

嘿嘿大人 2015-8-23 16:40:11

做改错题,我一般的做法就是一来就直接先运行一遍,看有没有语法错误这种很容易修改的错误,如果没有语法错误,才去看逻辑上的错误,一般的改错题都会有一个/***found***/d的提示,所以很容易找,就本题而言,第一个错误之处在于,定义函数时,形参是需要定义类型的,在本题中,明显缺少了形参的定义,由于返回值是int型,所以函数前面的那个返回值类型可以省去,如果不是int型,就不能省;第二个错误我们可以从for语句中知道,j才是我们应该返回的值,但是原来却写的是i所以这个错是很明显的

问题来自: 改错题真题