将double数组初始化为无限大
时间: 2023-10-25 09:13:03 浏览: 196
在C++中,double类型的变量默认初始值为0.0。如果要将一个double数组初始化为无限大,可以使用标准库中的numeric_limits<double>::infinity()函数。这个函数可以返回double类型的正无穷大值,可以用来初始化数组元素。
以下是一个示例代码:
```C++
#include <iostream>
#include <limits>
using namespace std;
int main()
{
int n = 5; // 数组大小
double arr[n]; // 定义数组
// 将数组元素初始化为正无穷大
for(int i = 0; i < n; i++)
{
arr[i] = numeric_limits<double>::infinity();
}
// 输出数组
for(int i = 0; i < n; i++)
{
cout << arr[i] << " ";
}
return 0;
}
```
输出结果:
```
inf inf inf inf inf
```
相关问题
c++对一维double数组初始化
在 C++ 中,可以使用几种方式对一维 `double` 数组进行初始化。这里有一些常见的例子:
1. **显式赋值**:
```cpp
double array[5] = {0.0, 1.2, 3.4, 5.6, 7.8}; // 初始化为特定值
```
2. **使用常量初始值生成器**:
```cpp
const double values[] = {std::numeric_limits<double>::min(), std::numeric_limits<double>::max()}; // 使用类型相关的最小、最大值
```
3. **未指定大小的动态数组**:
```cpp
double* dynamicArray;
int size = 3;
dynamicArray = new double[size]; // 需要在使用前分配内存
for (int i = 0; i < size; i++) {
dynamicArray[i] = i * 0.1;
}
```
记得在不再需要数组时使用 `delete[]` 释放内存。
4. **使用初始化列表**(C++11 及以后版本支持):
```cpp
std::array<double, 5> initArray = {0.0, 1.2, 3.4, 5.6, 7.8};
```
或者使用 C++17 的 `std::vector`:
```cpp
std::vector<double> vec = {0.0, 1.2, 3.4, 5.6, 7.8};
```
double[] myArray = new double[10];这样定义double数组,初始化的值都是0?
是的,当使用以下语法定义double数组时:
```c#
double[] myArray = new double[10];
```
数组的所有元素都将被默认初始化为0。这是因为double类型的默认值是0.0,因此在创建数组时,CLR会自动将所有元素初始化为0.0。
如果你想要将数组中的元素设置为其他的初始值,可以使用以下语法:
```c#
double[] myArray = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0 };
```
或者使用以下语法:
```c#
double[] myArray = { 1.0, 2.0, 3.0, 4.0, 5.0 };
```
这样,数组中的元素就会被初始化为指定的值。
阅读全文