intGetValue(int n) { inti=0,f=0; intj=10,g=20,h=30; while(i<n) { intk=i; switch(k) { case0:f=i+j;break;/*k=0*/ case1:f=g+h;break;/*k=1*/ case2:f=g–h;break;/*k=2*/ case3:f=i–j;break;/*k=3*/ default:f=i; } i++; } returnf; } void main() { int a=6; GetValue(a); }
时间: 2023-12-05 21:04:43 浏览: 77
这段代码有一些问题:
1. 函数名应该是 `int GetValue(int n)` 而不是 `intGetValue(int n)`。
2. 在 `main()` 函数中,调用的函数名与实际定义的函数名不一致,应该是 `GetValue(a)` 而不是 `intGetValue(a)`。
3. 函数中使用了未初始化的变量 `i`。
4. `switch` 中的 `k` 没有被定义,应该是 `switch (i % 4)` 来根据 `i` 的余数来判断。
5. 在第 3 个 `case` 中,使用了错误的减号符号 `g–h`,应该是 `g - h`。
下面是修正后的代码:
```
int GetValue(int n) {
int i = 0, f = 0;
int j = 10, g = 20, h = 30;
while (i < n) {
int k = i % 4;
switch (k) {
case 0:
f = i + j;
break;
case 1:
f = g + h;
break;
case 2:
f = g - h;
break;
case 3:
f = i - j;
break;
default:
f = i;
}
i++;
}
return f;
}
int main() {
int a = 6;
GetValue(a);
return 0;
}
```
阅读全文