我真的不明白。也许有人可以解释我。我想找出dataInput中有多少个元素。我在用C编程
void Calibrate_data(float* dataInput)
{
int dataSize = sizeof(*dataInput)/sizeof(float);
printf("%i and %i",sizeof(*dataInput)/sizeof(float),dataSize);
}
输出为:
1 and 10
这是错误的格式说明符:
printf("%i and %i",sizeof(*dataInput)/sizeof(float),dataSize);
^^
sizeof
返回size_t
类型,该类型是未签名的,正确的格式说明符是%zu
或%Iu
在Visual Studio中。
使用了错误的格式说明所调用不确定的行为,但似乎并没有解释的输出10
为dataSize
这没有任何意义,因为sizeof(*dataInput)
会的大小float
。因此,我们预计sizeof(*dataInput)/sizeof(float)
是1
,作为Macattack说的SSCCE应当有助于解决这一输出。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句