#include <stdio.h> double fun(double x, int n) { double s; int i; s = 1; for (i = 1; i <= n; i++) s = s * x; return s; } void main() { double a, b, m1, m2, m3, m; printf("请输入a和b: \n"); scanf("%lf%lf", &a, 8b); m1 = fun(a, 4); m2 = fun(b, 4); m3 - fun(a + b, 3); m = m1 + m2 + m3; printf("m=%f\n", m); }哪里错了怎么改
时间: 2024-03-08 17:49:21 浏览: 113
[C语言面试笔试]2023精选改错题.doc
在程序中,有两个问题:
1. 第10行中的 "8b" 应该是一个笔误,应该是 "b"。
2. 第12行中的赋值操作使用了减号,应该使用等号。
下面是修改后的代码:
```c
#include <stdio.h>
double fun(double x, int n) {
double s;
int i;
s = 1;
for (i = 1; i <= n; i++)
s = s * x;
return s;
}
int main() {
double a, b, m1, m2, m3, m;
printf("请输入a和b: \n");
scanf("%lf %lf", &a, &b);
m1 = fun(a, 4);
m2 = fun(b, 4);
m3 = fun(a + b, 3);
m = m1 + m2 + m3;
printf("m=%f\n", m);
return 0;
}
```
在此代码中,第10行中的 "8b" 已经被修改为 "&b",第12行中的赋值操作已经被修改为等号。此外,还将 `main()` 函数的返回值类型修改为 `int`,以符合 C 语言标准。
阅读全文