Low*_*Sky 1 c variables return-type type-conversion
例如,我round()在C中调用函数,手册说它返回一个类型的值double.我做了一个int变量,我在其中存储了这个函数的结果.一切似乎都很好,所以我的问题是这里发生了什么?
int rounded = round(cents);
Run Code Online (Sandbox Code Playgroud)
为什么C甚至允许我将返回值存储rounds()在不同的返回类型的变量中?
C将自动尝试从round(a double)的返回值转换为int.
它可能会被转换.
请记住,如果double返回的值大于或小于可以保存的值int,则程序行为未定义.
你应该在尝试转换之前INT_MAX和INT_MIN之前进行比较.
希望你现在可以看到为什么double,事实上,为什么是合理的回报类型round.