Sha*_*iya -1 c gcc casting type-conversion
在gcc编译器中执行时,为什么此代码打印8作为其输出?
#include<stdio.h>
double i;
int main()
{
(int)(float)(char)i;
printf("%d",sizeof(i));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
unw*_*ind 10
因为类型i 是double,并且double您平台上的大小是8.
奇怪的强制转换线并不重要,它不会改变声明i,也不会改变sizeof调用.
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |