#include <stdio.h> int oem_print(void *in) { int a = 3; *in = a; printf("%d\n", *in); } int main() { int b = 4; oem_print(&b); return 0; }
时间: 2023-12-10 09:41:09 浏览: 67
#include <stdio.h>
这段代码存在问题,因为在oem_print函数中,指针类型的参数in没有声明其指向的数据类型。此外,在oem_print中试图修改指针in所指向的,但是in是一个void类型的指针,不能进行解引用操作。可以尝试修改代码如:
```
#include <stdio.h>
void oem_print(int *in) {
int a = 3;
*in = a;
printf("%d\n", *in);
}
int main() {
int b = 4;
oem_print(&b);
return 0;
}
```
这样修改后,指针in被声明为int类型的指针,并且在函数中可以修改它所指向的值。输出结果为3,表示指针in指向的地址的值已经被修改为3。
阅读全文