保证4*ceil(n/3)的足够存储空间,其中n是int

pf8*_*f85 1 c malloc computer-science

假设n是一个整数(intC中的变量).我需要足够的空间"4倍于n的上限除以3"字节.我如何保证足够的空间?

您是否认为malloc(4*(int)ceil(n/3.0))会这样做,或者我必须添加,比如说,1为了绝对安全(由于可能的舍入错误)?

Bor*_*ort 5

你可以用纯整数运算实现同样的事情,保证你分配正确的内存量: 编辑固定括号

malloc(4*((n+2)/3))
Run Code Online (Sandbox Code Playgroud)