C语言 数据输出

来源:百度知道 编辑:UC知道 时间:2024/06/30 21:38:08
请问一下
在C中定义好的int或是其它类型的数据可以用其它类型做输出吗?
如:int a=5;
printf("%f",a);
或 float a=5;
printf("%d",a);
这样可以吗?我试过不行,但是为什么呢?
计算机不会自动做数据的转换吗?

c语言在表达式计算时可以进行隐式的转换,但在输出时,其不进行转换,只能按照前面定义的输出参数格式进行输出。
//即
float n;
int m=1;
//可以进行:
n=m;
//但不可以进行,这里有输出也是不正确的
printf("%d",n);
//只能:
printf("%f",n);

需要强制类型转换

int a=5;
printf("%f",(float)a);

float a=5;
printf("%d",(int)a);

不行,c语言格式是严格的,如果需要,输出前需进行强制转换才行。

输出不可以

char int 可以哦