C语言,请问,我这个怎么错了?

2025-01-25 02:25:16
推荐回答(1个)
回答1:

#include 

struct str {
    int a;  //首先定义结构体里是不能赋值的
    char b; //我不知道你这个结构体是有什么作用,但是看主函数觉得没有用上
};

void main()
{
    int b[] = {1,2,3};
    for (int i = 0; i < 3; i ++)
    {
        if (b[i] == 3) //你只定义了一个数组b,而没有定义a,所以把a都换成b
        {
            b[i] = b[i+1]; //b[i]=3的时候,i=2,i+1时已经造成数组越界,因为不知道你是想做什么,这里只做标记没有修改
        }
    }
    for (int i = 0; i < 3; i ++)
    {
        printf("%d", b[i]);
    }
}