猿问

c指针用的不当,为什么啊?输不出a=2????

void f(double *f){

  *f+=1;

}

int main()

{

  int a=1;

  f((double *)&a);

  printf("%d ",a);

}

慕码人4316537
浏览 1382回答 2
2回答

asd8532

#include <stdio.h>  int f(double *f){   //printf("%f \n",*f);这里是0   //*f+=1;   //printf("%f \n",*f);这里是1      //printf("%d \n",*f);这里是1   //*f+=1;   //printf("%d \n",*f);这里是0      *f+=1;    return (int)*f; } int main() {   int a=1;   a = f((double *)&a);   printf("%d ",a);   return 0; }

jfhdibrbfjd

你看着  强制类性转换   有问题   请你仔细看我做的
随时随地看视频慕课网APP
我要回答