第二段代码的赋值为何不行

第二段代码的赋值为什么不行?C/C++ code#include stdio.hvoid f(int* q){*q10}int main(){int pf((in

第二段代码的赋值为什么不行?

C/C++ code
#include "stdio.h"void f(int* q){    *q=10;    }int main(){    int p;    f((int*)&p);    printf("%d\n",p);//这个可以    return 0;}


C/C++ code
void task(void* p){    *(int*)&p=10;}int main(){    int val=5;    void* pV = &val;    void** p = &pV;    printf("%p\n",&val);    printf("%p\n",*p);    task(*p);    printf("%d\n",val);    return 0;}


[解决办法]
函数里*p即可