2
我有一个第三方的C代码,其中有浮点数用浮点数初始化的大型浮点数组。例如:如何输入用数字初始化的巨型数组的铸造元素
float myArray[] = {1.2, 2.5, ....}; /*has thousands of elements*/
当我编译时,我收到警告“截断从double到float”。我想摆脱这个警告。如果数组的大小是小的(例如,两个),我可以使用标准型铸造和如下手动更新的代码:
float myArray[] = {1.2f, 2.5f};
或
float myArray[] = {(float) 1.2, (float) (2.5)};
然而,由于大量的元件,手动更新是不实际的。我是否必须编写一个脚本来编辑源代码,并在数字后面加上“f”,或者是否有一种更简单的方法来为整个数组转换一个简单的方法?例如:
float myArray[] = (float){1.2, 2.5, ...} /*does not work, issues syntax error*/
嘿,检查错误是否在这一行。因为我尝试了类似的任务,但我没有收到任何警告。 – Balanivash 2011-06-17 09:45:18
我认为让一个支持正则表达式的编辑器(有很多)更容易,并用'$ 1f'替换该范围内的'(\。\ d +)'。 – kennytm 2011-06-17 09:46:41
@Balanivash:我再次尝试,仍然得到警告。你可能想看看你的编译器的警告设置。 – Samil 2011-06-17 10:34:00