C++中怎么把一个bool型的数组初始化?
我这样写:boolArray[100]={1};结果系统只把第一个元素初始化为了1,其它元素都是0,这是为什么啊?那应该怎么把数组初始化啊?...
我这样写:bool Array[100]={1};结果系统只把第一个元素初始化为了1,其它元素都是0,这是为什么啊?那应该怎么把数组初始化啊?
展开
7个回答
展开全部
首先,是C和C++数组清零的问题。可以使用memset(v,0,sizeof(v));将数组在初始化,此处因为我们要用的是bool型数组,所以,要清空。
在就是C语言中没有布尔型bool,所以,他的判断是0就是假false,其他的就是真true;
在就是C++语言中布尔型,定义了,要初始化,可以初始化为true,也可以初始化为false.不然,就不能编译了。C++中布尔型初始化还是可以同样使用memset(v,true,sizeof(v));初始化为true;
最让人头疼的是Java中数组的输入,和其他的输入问题:
下面这个小程序可以输入一组数据。但是是以ASCII码形式输出的。弄了很久也没有找到怎么转换,强行转换,会掉一些数据的,比如,有5个数,但是你强行转换后,输出只有前三个数了。
Java中输入数据一个一个的输,要有提示,是很好输的,可是连续输入数据,还真的有点难。希望大家给点建议。
import java.io.*;
public class test1 {
public static void main(String []args) throws IOException
{
int[] my = new int[5];
BufferedInputStream br = new BufferedInputStream(System.in);
for(int i=0;i<=my.length-1;i++)
{
my[i]=br.read();}
for(int j=0;j<=my.length-1;j++)
{
System.out.println(my[j]);
}
}
}
/*输入一个数组,比如输入为1 2 3 4 5
*但是输出是ASCII码。为49 32 50 32 51.
*还不会将其转换为Int型
*
**/
在就是C语言中没有布尔型bool,所以,他的判断是0就是假false,其他的就是真true;
在就是C++语言中布尔型,定义了,要初始化,可以初始化为true,也可以初始化为false.不然,就不能编译了。C++中布尔型初始化还是可以同样使用memset(v,true,sizeof(v));初始化为true;
最让人头疼的是Java中数组的输入,和其他的输入问题:
下面这个小程序可以输入一组数据。但是是以ASCII码形式输出的。弄了很久也没有找到怎么转换,强行转换,会掉一些数据的,比如,有5个数,但是你强行转换后,输出只有前三个数了。
Java中输入数据一个一个的输,要有提示,是很好输的,可是连续输入数据,还真的有点难。希望大家给点建议。
import java.io.*;
public class test1 {
public static void main(String []args) throws IOException
{
int[] my = new int[5];
BufferedInputStream br = new BufferedInputStream(System.in);
for(int i=0;i<=my.length-1;i++)
{
my[i]=br.read();}
for(int j=0;j<=my.length-1;j++)
{
System.out.println(my[j]);
}
}
}
/*输入一个数组,比如输入为1 2 3 4 5
*但是输出是ASCII码。为49 32 50 32 51.
*还不会将其转换为Int型
*
**/
展开全部
memset(Array,0,sizeof(Array));
头文件是#include<memory.h>;按照常理说bool定义的变量不是false就是true用0 和1不太好吧
所以我建议memset(Array,false,sizeof(Array));全部初始化为false
头文件是#include<memory.h>;按照常理说bool定义的变量不是false就是true用0 和1不太好吧
所以我建议memset(Array,false,sizeof(Array));全部初始化为false
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-10-13 · 知道合伙人数码行家
关注
展开全部
方法如下:
1.输入memset(Array,0,sizeof(Array));
2.头文件是#include<memory.h>;最好输入meboolmset(Array,false,sizeof(Array));全部初始化为false。
3.bool定义的变量不是false就是true而用0和1不好。
1.输入memset(Array,0,sizeof(Array));
2.头文件是#include<memory.h>;最好输入meboolmset(Array,false,sizeof(Array));全部初始化为false。
3.bool定义的变量不是false就是true而用0和1不好。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法如下:
1.输入memset(Array,0,sizeof(Array));
2.头文件是#include<memory.h>;最好输入meboolmset(Array,false,sizeof(Array));全部初始化为false。
3.bool定义的变量不是false就是true而用0和1不好。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有两种方法,一种是用for语句 把数组遍历赋值, 另一种是用memset的方法,需要包含头文件stirng.h或者memory.h
具体写法看楼上几位好了。
具体写法看楼上几位好了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询