我试图理解为什么以下代码不起作用......请帮助:
void incme(double *p)
{
printf("%x,%x\n",p,*p);
*p = *p + 1;
printf("%x,%x\n",p,*p);
}
int main()
{
int i = 1;
incme((double *)&i);
printf("%x,%x",&i,i);
}
输出是:
ff99a348,1
ff99a348,1
ff99a348,1
我期待: ff99a348,1 ff99a348,2 ff99a348,2
它打破了我对指针的了解......
谢谢。
编辑:
我要问的主要问题是 incme((double *)&i); 为什么不将其转换为加倍并将其传递给函数?...抱歉没有指出eailer ....