#include <stdio.h>
int multiple(int, int);
int main()
{
int i;
int x;
int y;
scanf("%d %d", &x, &y);
printf("%d", multiple(x,y));
}
int multiple(int N,int M)
{
int i;
int result;
for (i=0;i*M<N;i++)
{
result=i*M;
printf("%d", result);
}
}
当我输入输入(例如x = 100和y = 7)时,输出显示所有倍数直到105,而不是直到98应该是。
答案 0 :(得分:1)
循环最多打印98.但是,multiple
声明返回int
但实际上没有return
语句,因此返回值未指定(和在实践中,你将从之前的计算中得到一些任意值)。然后你打印这个“垃圾”返回值,在你的情况下恰好是105。
如果您不希望multiple
返回值,则不要声明它返回值,并且不打印它返回的值。