| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
#include <stdio.h> 
#define maxsize 50 
typedef struct { 
    int data[maxsize]; 
    int length; 
}stu; 
    L.data[0]=1; 
    L.data[1]=2; 
    L.data[2]=3; 
这个length的长度不应该是3吗? 
  为什么里面length的长度是16呢 
您的代码片段似乎不完整。为了更好地回答您的问题,请允许我整理一下代码,给出一个完整的示例。 
 
- #include <stdio.h>
 
 - #define maxsize 50
 
  
- typedef struct {
 
 -     int data[maxsize];
 
 -     int length;
 
 - } stu;
 
  
- int main() {
 
 -     stu L;
 
 -     L.data[0] = 1;
 
 -     L.data[1] = 2;
 
 -     L.data[2] = 3;
 
 -     L.length = 3;
 
  
-     printf("L.length: %d\n", L.length);
 
 -     return 0;
 
 - }
 
 
  复制代码 
 
在这个示例中,我们创建了一个名为`stu`的结构体,它包含一个整数数组`data`和一个整数`length`。接着,我们定义了一个名为`L`的`stu`类型变量。然后我们分别将1、2、3赋值给数组的前三个元素,并将`length`设置为3。最后,我们打印出`L.length`的值。 
 
这个程序将输出: 
 
 
 
这是预期的结果,因为我们将`L.length`设置为了3。如果在您的代码中`length`值为16,那么可能是由于未初始化`length`导致的。请确保正确初始化`length`,并在代码中更新它的值以反映数组的实际长度。 
 
 
 |   
 
 
 
 |