只是一个关于编程的一般问题:当您用C(或我想的任何语言)定义一个值时,编译器如何知道如何处理该值?例如:#defineCountCycle100000我假设CountCycle是一个“长整数”数据类型,但这只是一个假设。我想它也可以是float、double(不是int,因为它最大为~32k)等。编译器如何为#define值选择数据类型?我没有申请回答这个问题;我只是好奇。 最佳答案 编译器不会做这样的事情。预处理器用100000代替CountCycle。一旦替换完成,编译器就可以接管了。如果100000适合该范围,则其类型为int