问题:c语言有关,被调函数的声明,那个 fun函数 在前面 没有声明啊!
在那个 void main() 前面没有 int fun (int)的声明
为什么这个程序还是对的?
回答:
C语言特别是C语言古老的编译器,是可以不用声明而调用一个函数的
它缺省返回int类型,且参数是可变的(C标准没有强制规定一定要先声明,但C++这个是必须的)
问题2:用C语言,编写子函数求1~n范围内个位数为9的数之和。用主函数调用该函数,n为参数且n不大于100。
在那个 void main() 前面没有 int fun (int)的声明
为什么这个程序还是对的?
回答:
C语言特别是C语言古老的编译器,是可以不用声明而调用一个函数的
它缺省返回int类型,且参数是可变的(C标准没有强制规定一定要先声明,但C++这个是必须的)
问题2:用C语言,编写子函数求1~n范围内个位数为9的数之和。用主函数调用该函数,n为参数且n不大于100。
int func(int n)
{
if (n < 1 || n > 100) return -1; /// 限制n范围在 1~100
int sum = 0;
/// 判断个位数是否为9(即对10取余数)
for (int i = 1; i < n; ++i) { if (n % 10 == 9) sum += n; }
return sum;
}