此问题在此处已有答案:
Initialize all elements of C array to an integer [duplicate](1个答案)
昨天关门了。
我的系统是Ubuntu
下面是我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#define LEN 16
using namespace std;
int main(){
int a[16] = {2};
for (int i=0; i<16; i++)
{
cout << a[i] << ' ';
}
}
我在终端中通过以下命令编译了它:g++ t1.cpp -o t1 && ./t1
但结果是
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3条答案
按热度按时间fdbelqdn1#
任何一本像样的书、教程或课程都应该告诉你
相当于
如果您想将所有元素初始化为单个值,则需要显式地执行此操作。
您也可以在定义之后使用
std::fill
,将每个元素设定为值:又有些吹毛求疵:您所做的是 * 初始化 *,而不是赋值。
pexxcrt22#
您已经将 a
2
赋给数组的索引0
。您可能希望使用
std::fill
。f45qwnt83#
使用https://en.cppreference.com/w/cpp/algorithm/fill