【发布时间】:2014-05-11 07:59:57
【问题描述】:
试图使代码具有联合结构。我将把整数和 printf 扫描为 int float,double,long double。然后将浮点打印扫描为 int,float,double,long double。对于 double 和 long int 的过程相同.
- 这段代码应该可以正常工作吗?将 int 打印为 float 时会给出奇怪的数字。我不确定结果!
代码如下:
union Data
{
int num_i;
float num_f;
double num_d;
long double num_ld;
};
int main()
{
union Data data;
printf("Int girin");
scanf("%d",&data.num_i);
printf("Int %d\n",data.num_i);
printf("Float %f\n",data.num_i);
printf("Double %Lf\n",data.num_i);
printf("Long DOuble %Ld\n",data.num_i);
printf("Float gir");
scanf("%f",&data.num_f);
printf("Int %d\n",data.num_f);
printf("Float %f\n",data.num_f);
printf("Double %Lf\n",data.num_f);
printf("Long DOuble %Ld\n",data.num_f);
printf("Double Gİr");
scanf("%lf",&data.num_d);
printf("Int %d\n",data.num_d);
printf("Float %f\n",data.num_d);
printf("Double %lf\n",data.num_d);
printf("Long DOuble %ld\n",data.num_d);
printf("Long gir ");
scanf("%ld",&data.num_ld);
printf("Int %d\n",data.num_ld);
printf("Float %f\n",data.num_ld);
printf("Double %lf\n",data.num_ld);
printf("Long DOuble %ld\n",data.num_ld);
getch();
}
【问题讨论】:
-
问题是什么?
-
你的问题到底是什么?
-
你的问题是什么?
-
为什么没有人问这里的问题是什么?
-
忘记问了。我编辑。
标签: c floating-point int