1、首先,定义一个自定义函数,实现字符数组长度的判断。
2、自定义函数中,定义一个整型变量i,用来计算字符数组的长度。
3、函数中,用while循环实现字符数组长度的判断。
4、主函数中,先保存一个整型变量,保存计算出的字符串数组长度。
5、接着,定义一个字符串数组,保存统计的字符串。
6、输入统计的字符串,保存在数组str中。
7、计算字符串数组的长度,保存在变量n中。
8、最后,输出计算得到的字符串长度。
vector<类型> 数组名;
数组名.resize(数组长度); //注意此语句须在主函数内执行
或者你不需要用变量作为长度,你完全可以用n的最大值作为数组长度(如果题目中有)
这个你可以不用给数组a定义长度,把第九行改为int a[];就行了。
你可以用变量n控制数组的长度,但是不能用变量定义数组长度。
如何在数组定义时,数组的长度用一个变量
问题:在整个程序中的前半部分计算了一个n的值,在后面想用这个n的值定义一个n维的数组,如何解决?
错误方法:int a[n],C不认。
解决方法:
1.用vector类
2.用malloc函数
#include
int main(void)
{
int *a;
int n,i;
scanf("%d",&n);
a=malloc(sizeof(int)*n);
for (i=0;i
free(a);/*释放malloc()分配的空间*/
return 0;
}
很简单,用动态分配函数malloc就可以了.
int n;
cin>>n;
int*a=(int*)malloc(n*sizeof(int));
这时a就相当于数组名,如a[0]=1;a[2]=5;