C++中NEW的用法怎么不对

来源:百度知道 编辑:UC知道 时间:2024/05/14 18:57:58
#include<iostream.h>
void main()
{char * str;
int n;
cin>>n;
str=new char[n+1];
for(i=0;i<n;i++)
str[i]='a';
str[i]='/0';
cout<<strlen(str);
}
为什么输出来的总不是我输进去的n那么长,所得到数组的长度总不匹配,是不是我的用法有错,请高手指点
我有cin>>n; 吗,怎么会没有N呢

错误比较多,我帮你改了一下,自己看看吧。
之所以不是给定的长度,是因为你的斜杠打错了,应该是'\0',否则算入两个字符
#include<iostream>
using namespace std;
void main()
{char * str;
int n,i;
cin>>n;
str=new char[n+1];
for(i=0;i<n;i++)
str[i]='a';
str[i]='\0';
cout<<strlen(str);
}

int n=0
你没给初始值鬼知道你N是多少