我用C语言写了一段代码,从给定的最小值和最大值区间中找到奇数。当函数在int main()内部时,它工作得很好,但当它作为函数在程序外部时就不太好了。
更重要的是,它还打印超出给定最大值的增量。
这是密码...
#include <stdio.h>
// My Function
int odd_numbers(int x, int y) {
for (int i = x; i <= y; ++i) {
if (i % 2 == 1) {
printf("%d\n",i);
}
}
}
// Main Program
int main(void) {
int min_num, max_num;
printf("Input your minimum number: ");
scanf("%d", &min_num);
printf("Input your maximum number: ");
scanf("%d", &max_num);
printf("%d",odd_numbers(min_num,max_num));
}
这是输出... As you can see, it adds an 11 besides the 9...我怎么解决这个问题?我试过返回0;它返回值0,但我只想返回奇数以外的数字。
2条答案
按热度按时间py49o6xq1#
下面是工作代码。
备注
1.将
odd_numbers
的返回类型从void更改为int,因为在调用该函数时不会返回任何内容。1.只调用函数
odd_numbers
,不需要打印任何东西,因为odd_numbers
已经完成了这项工作。xiozqbni2#
下面是修改后的代码。
1.您已声明函数返回类型
int
,但未返回任何内容。odd_numbers
已变为void类型。无需返回任何内容密码: