#include <stdio.h>
double metersToFeet(double meters)
{
return meters / 0.3048;
}
int main()
{
printf("%u\n", (unsigned char)(char)(45.72 / 0.3048));
printf("%u\n", (unsigned char)(char)metersToFeet(45.72));
return 0;
}
这个程序在GCC和Clang下均输出以下结果:
127
150
为什么我得到了两个不同的数字?