下面程序有什么问题 #include<stdio.h> voidfun() (s=s*2; printf("fun函数中s=%d\n",s);return; main() int s; S=10; fun(); printf("main函数中s=%d\n",s);]
时间: 2023-11-27 19:52:32 浏览: 57
这段程序有很多语法错误和逻辑错误,应该改为以下正确的代码:
```
#include <stdio.h>
void fun(int *s) {
*s = *s * 2;
printf("fun函数中*s=%d\n", *s);
return;
}
int main() {
int s = 10;
fun(&s);
printf("main函数中s=%d\n", s);
return 0;
}
```
在原有的代码中,函数定义没有指定返回值类型和参数列表,应该改为 `void fun(int *s)`。此外,变量名大小写不一致也需要修正。在 `main()` 函数中,应该调用 `fun()` 函数时传递 `s` 的地址,才能在 `fun()` 函数中修改 `s` 的值。因此需要将 `S=10;` 改为 `s=10;`,并且在调用 `fun()` 函数时传递 `&s`。最后,`main()` 函数缺少返回语句,应该加上 `return 0;`。
阅读全文