这个是比较容易解决的,这是我把楼主的程序略加修改后的代码:
# include <stdioh>
# include <stdlibh>
# include <timeh>
int main()
{
int a[100];
int n;
int i;
int len=0; //此行给len初始化;
scanf("%d",&n);
for(i=0;i<n;i++)
{
a[i] = i;
++len; /此处算是这个程序里面求数组a实际长度的要点了,
每循环一次,len的值就加1(从初始值0开始加的),所以当循环n次后,len就记下了数组的长度!/
}
//len = (sizeof(a)/sizeof(a[0]));因为只是为了让len表示数组a的值,所以为了求len不必采用这样的方法;
printf("%d\n",len);//加个换行符输出时看的明显些;
}
这是我自己运行的结果,楼主可以自己运行着看看,这样输出的结果就是数组a的实际长度了:
楼主还有什么疑问可以尽情问,还有,以后若是想求一个数组的实际长度,且这个数组是字符数组时,楼主只需要在头文件中包含#include<stringh>后,就可以在求字符数组的实际长度时;用语句 int len; //用于存储字符的实际长度;
len=strlen(a),其中a是要求的字符数组的名称,不必加下标;很方便的,希望能帮到楼主哦。
C语言字符串数组中的每一个元素均为指针,即有诸形如“ptr_array[i]”的指针。由于数组元素均为指针,因此ptr_array[i]是指第i+1个元素的指针。
例:如二维指针数组的定义为:char ptr_array[3]={{"asdx","qwer","fdsfaf"},{"44444","555","6666"},{"a78x","q3er","f2f"}};
扩展资料
字符串数组数组元素表示方法:
数组元素的一般形式为:数组名[下标] 其中的下标只能为整型常量或整型表达式。如为小数时,C编译将自动取整。
例如,a[5],a[i+j],a[i++]都是合法的数组元素。数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。在C语言中只能逐个地使用下标变量, 而不能一次引用整个数组。
参考资料来源:百度百科—指针数组
将数组转换成List<T>后,利用List<T>Insert实现插入新元素。方法如下:
using System;
using SystemCollectionsGeneric;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] x = { 1, 2, 3, 4 };
ConsoleWriteLine("插入前");
PrintArray(x);
try
{
x = InsertNumber(x, 10, 4);
ConsoleWriteLine("在 Index=4 处插入10后");
PrintArray(x);
x = InsertNumber(x, 100, 0);
ConsoleWriteLine("在 Index=0 处插入100后");
PrintArray(x);
}
catch (Exception e)
{
ConsoleWriteLine(eMessage);
}
}
/// <summary>
/// 将value 插入到指定数组的指定的位置
/// </summary>
/// <param name="a">指定数组</param>
/// <param name="value">待插入的元素</param>
/// <param name="index">插入的位置</param>
/// <returns>插入后的数组</returns>
static int[] InsertNumber(int[] a, int value, int index)
{
try
{
//转换成List<int>集合
List<int> list = new List<int>(a);
//插入
listInsert(index, value);
//从List<int>集合,再转换成数组
return listToArray();
}
catch (Exception e) // 捕获由插入位置非法而导致的异常
{
throw e;
}
}
/// <summary>
/// 打印数组
/// </summary>
static void PrintArray(int[] a)
{
foreach (int x in a)
{
ConsoleWrite("{0} ", x);
}
ConsoleWriteLine();
}
}
}
对于字符数组str[N],判断方法有以下三种:第一种:用库函数strlen
len = strlen(str); // 数组长度
第二种:利用计数器
int i=0;
while(str[i++] != '\0'); // 数组str的长度为i
第三种:利用sizeof函数
len = sizeof(str)/sizeof(str[0]); // 数组长度对于其他类型的数组,都可以用字符数组的第三种方法,第三种方法是通用的。
通过数组的length属性获取
示例:
String[] arr = {"1","2"};//定义一个数组int len = arrlength;//获取数组长度,这里获取到的长度是2
数组中的元素个数length是数组类中唯一的数据成员变量。使用new创建数组时系统自动给length赋值。数组一旦创建完毕数组大小就固定下来。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)