关于C++中的BOOL型数组
正确代码1:#include"iostream"usingnamespacestd;boola[1001];intmain(){intn,i,b,k=0;cin>>n;f...
正确代码1:
#include "iostream"
using namespace std;
bool a[1001];
int main()
{
int n,i,b,k = 0;
cin >> n;
for(i = 1;i <= n;i++)
{
cin >> b;
a[b] = 1;
}
for(i = 1;i <= 1000;i++)
if(a[i] == 1)
k++;
cout << k << endl;
for(i = 1;i <= 1000;i++)
if(a[i]) cout << i << " ";
return 0;
}
错误代码2:
#include "iostream"
using namespace std;
int main()
{
bool a[1001];
int n,i,b,k = 0;
cin >> n;
for(i = 1;i <= n;i++)
{
cin >> b;
a[b] = 1;
}
for(i = 1;i <= 1000;i++)
if(a[i] == 1)
k++;
cout << k << endl;
for(i = 1;i <= 1000;i++)
if(a[i]) cout << i << " ";
return 0;
}
请问BOOL型的数组放在外部和里边有什么区别 展开
#include "iostream"
using namespace std;
bool a[1001];
int main()
{
int n,i,b,k = 0;
cin >> n;
for(i = 1;i <= n;i++)
{
cin >> b;
a[b] = 1;
}
for(i = 1;i <= 1000;i++)
if(a[i] == 1)
k++;
cout << k << endl;
for(i = 1;i <= 1000;i++)
if(a[i]) cout << i << " ";
return 0;
}
错误代码2:
#include "iostream"
using namespace std;
int main()
{
bool a[1001];
int n,i,b,k = 0;
cin >> n;
for(i = 1;i <= n;i++)
{
cin >> b;
a[b] = 1;
}
for(i = 1;i <= 1000;i++)
if(a[i] == 1)
k++;
cout << k << endl;
for(i = 1;i <= 1000;i++)
if(a[i]) cout << i << " ";
return 0;
}
请问BOOL型的数组放在外部和里边有什么区别 展开
3个回答
展开全部
只有这些代码的话没有区别。
外面的是全局变量,在整个应用程序周期都不会释放,别的函数也能访问。
里面的是局部变量,所在的函数调用结束就会释放。
外面的是全局变量,在整个应用程序周期都不会释放,别的函数也能访问。
里面的是局部变量,所在的函数调用结束就会释放。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第二种在栈上分配内存,而栈内存有限,不能放大数组。前者在全局数据区分配,可以放大数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询