#include "stdio.h" int fun(int n) { int sum,i; /***********begin***********/ for(i=1;i<=n;i++) { if(i%3!=0) sum+=i; } /***********end***********/ } int main( ) { int n; scanf("%d",&n); printf("s=%d\n",fun(n)); return 0; }为什么算的不对
时间: 2023-07-18 13:42:20 浏览: 86
#include stdio.h(1).docx
在这段代码中,fun函数没有返回值,导致程序输出的结果是不确定的。在fun函数中,应该在for循环结束后将sum的值返回,如下所示:
```
int fun(int n) {
int sum = 0, i;
for (i = 1; i <= n; i++) {
if (i % 3 != 0)
sum += i;
}
return sum;
}
```
另外,sum应该在使用前初始化为0,否则其值是不确定的,也会导致程序输出的结果不正确。
阅读全文