C语言简单问题,请高手回答下!谢谢了!

来源:百度知道 编辑:UC知道 时间:2024/06/15 22:43:11
#include "stdio.h"
void main()
{int a;
float b=1.2;
(float)(a);
a=b*3;
printf("%f",a);

}
请问为什么我把a强制转为float型,但还是不能正确输出!

你那样没有改变a的类型。不存在左值。。。而且a已经定义成int类型了,不能再改成float,应该这样:

#include "stdio.h"
void main()
{int a;
float b=1.2;
float aa = (float)(a);
aa=b*3;
printf("%f",aa);

}

单独写一句是没用的,是无效代码
而且a是整型变量,无论你怎么用类型转换,它只能存整数.

记住。强制转换类型,要有左值

呵呵~~是因为你没了解,所谓强制转换是把转换后的值的副本返回,而不会改变原来变量的值类型。

输出函数不正确……