double变量能用分数形式初始化吗?
如下声明:
double d1[2] = { 1/2 , 1/2 };
double d2[3] = { 1/6 , 4/6 , 1/6 };
double d3[4] = { 1/8 , 3/8 , 3/8 , 1/8 };
double d4[5] = { 7/90 , 32/90 , 12/90 , 32/90 , 7/90 };
double d5[6] = { 19/288 , 75/288 , 50/288 ,50/288 , 75/288 , 19/288 };
double d6[7] = { 41/840 , 216/840 , 27/840 , 272/840 , 27/840 , 216/840 , 41/840 };
double d7[8] = { 751/17280 , 3577/17280 , 1323/17280 , 2989/17280 , 2989/17280 , 1323/17280 , 3577/17280 , 751/17280 };
double d8[9] = { 989/28350 , 5888/28350 , -928/28350 , 10496/28350 , -4540/28350 , 10496/28350 , -928/28350 , 5888/28350 , 989/28350 };
初始化后,所有的都为0,如:
cout<<d1[0];
输出为0
我想是因为初始化是不识别除法表达式吧,试着用如下声明:
double d1[2] = { static_cast<double>(1/2) , static_cast<double>(1/2) };
结果还是0,请问高手有什么初始化方法吗?谢谢