查找整数数组长度的问题

发布于 科技 2024-08-01
5个回答
  1. 匿名用户2024-01-31

    这个函数是一个查找字符串长度的函数,字符串的末尾是 0x0,即 null,你正在查找整数数组的长度,你可以用 sizeof(la) sizeof(list) 找到它, 注意:因为sizeof是由编译器预处理的,所以不同的编译器可能会导致结果是指针长度和数组的长度, 以及 vc 下数组的长度。

    int listlength(list *l)return count;

    如果有什么不明白的地方,请通过baiduhi再问我。

  2. 匿名用户2024-01-30

    #include

    typedef int list;

    int listlength(list *l) ,i;

    i = listlength(la);

    printf("%d", i);

    首先,它允许您编译。

    其次,你想错了。

    查找数组的长度是 sizeof(la) sizeof(list) 错误的原因,p!=null 不正确,当 p 指向数组外时,p 仍然是有效地址,不能为 null。 所以它无法实现。

  3. 匿名用户2024-01-29

    有两个错误:

    list *p=l;

    while (*p!=null)

    纠正错误后,可以运行,但结果不是我想要的。

    为什么?

    因为这个算法是有问题的,所以无论 null 怎么改为'\0',或者其他问题。

    除非它是一个字符串,但这是一个整数数组。

    那么你真的需要知道数组的长度可以和 sizeof 函数一起使用。

  4. 匿名用户2024-01-28

    1. 在 C 语言中,您可以在定义数组后使用 sizeof 命令获取数组的长度(可以容纳的元素数)。 例如:

    int data[4];

    int length;

    length=sizeof(data)/sizeof(data[0]);数组占用的总内存空间除以单个元素占用的内存空间量。

    输出长度 data[4]=42,但是,通过将数组名称参数传递给子函数来获取数组长度是不可行的。

    例如:int getlength(int a) 因为,a 是一个函数参数,在这个函数中,a 只是一个指针(address,当系统运行在这个函数中时,它不知道 a 所代表的地址有多少数据存储空间,这里它只是告诉函数:一个数据存储空间的第一个地址), 因此,sizoef(a) 的结果是指针变量 A 在内存中的大小,在 32 位计算机上通常为 4 个字节。

    a[0] 是 int 类型,sizeof(a[0]) 也是 4 个字节,所以结果总是在数组定义所在的 ** 区域使用上述方法才能实现数组的长度。

  5. 匿名用户2024-01-27

    逻辑错误。

    你是一个字符串,你不知道拆分的长度,所以 i<10 什么的,字符串长度默认为 9(因为 0 的问题)。

    如果输入的字符超过 10 个,则会出现错误,如果 = 10,则会造成混淆。

    这很可能是问题所在。

    您的输入有问题。

    图 = 9 案例。

    积极因素包括

    #include

    int main()

    char c1[10]=,c2[10]=,c[20]=;

    scanf("%s%s",c1,c2);

    int i,j;

    for(i=0;i<=strlen(c1);i++)c[i]=c1[i];

    for(i=0,j=strlen(c2);i<=strlen(c2);i++,j++)

    c[j]=c2[i];

    printf("%s",c1);

    printf("%s",c2);

    printf("%s",c);

    return 0;

相关回答
5个回答2024-08-01

前两个 ** 确实说数组的长度是用变量定义的(稍后会详细介绍),但黑匣子中的 ** 不是,这是取 arr 数组的下标 i 的值并将其分配给 te - 这是一个合法的操作,无论 c 还是 c++。 纯 C 编译器不允许变量定义数组的长度,并且无法传递编译。 后来的 C++ 编译器允许这样做,但大多数用于定义数组长度的变量都应该用 const 修改,称为值不变量,但纯 C 编译器不允许定义数组的长度,即使变量用 const 修饰。 >>>More

24个回答2024-08-01

你可以使用 strlen 函数来获取 C++ 中字符数组的长度,例如计算字符数组 a 长度的语句是 i=strlen(a)。 >>>More

7个回答2024-08-01

严格来说,这两者都不是字符串,因为没有 0 终止符。 >>>More

28个回答2024-08-01

方法:1)为每个元素分配初始值。例如:

char a[12]=; >>>More

9个回答2024-08-01

scanf("%d",str[i][j]);它应该是 scanf("%d",&str[i][j]); >>>More