左边是我的题目,右边是我写的内容
这是我提交后显示的页面,不理解是啥意思
谢谢你们的答疑!
第一个警告,是裁判测试程序里缺少对scanf()函数返回值的处理,而裁判测试程序是不允许修改的。
第二个警告,是int prime()函数缺了 return 语句漏洞。
两个函数修改如下,供参考:
int prime(int p)
{
int i;
if (p <= 1) // 修改
return 0;
if (p < 4) // 修改
return p > 1; // 修改
for (i = 2; i * i <= p; i++) // 修改
if (p % i == 0)
return 0;
return 1; // 修改
}
int PrimeSum(int m, int n)
{
int p, sum;
for (p = m, sum = 0; p <= n; p++)
if (prime(p)) sum += p; // 修改
return sum;
}