猿问

为什么第一个输出是0.000000(3.),而第二个输出是 97.000000,区别在哪?怎么算的?

#include <stdio.h>
#include <stdlib.h>
union Date
{
 int i;
 char ch;
 float f;
}a;
int main(int argc, char *argv[]) {
 a.i = 97;
 printf("%f\n",a.f); 
 int b=97;
 printf("%f\n",(float)b);
 return 0;
}


xungeer29
浏览 1465回答 1
1回答

慕用4063026

int main(int argc, char *argv[]) {  a.i = 97;  printf("%f\n",a.f); //a.f没赋值当然.f之后是0.000000  int b=97;  printf("%f\n",(float)b);//(float)b,b赋值97之后.f当然是97.000000  return 0; } 没懂你要知道什么
随时随地看视频慕课网APP
我要回答