【发布时间】:2014-07-22 11:05:59
【问题描述】:
我尝试在 Visual Studio 中执行以下代码:
int main()
{
float f1 = 15.23;
char *ptr = &f1;
printf("%c", *(ptr));
getch();
return 0;
}
编译错误:错误 C2440:“正在初始化”:无法从 'float *__w64' 到 'char *'
这有什么具体原因吗?为什么不允许?
【问题讨论】:
-
如果没有显式转换,则不允许这样做,因为它很少是您想要的:
float不是char。
标签: c pointers char floating-point-conversion