C语言不知道为什么出现这样的错误


#include<stdio.h>

int main()
{
    int size;
    printf("Enter number of values:");
    scanf("%d", &size);
    int a[size];
    
    int i;
    for(i=0,i<size,i++){
        scanf("%d",&a[i]);
    }
    printf("%d",a[i]);
    return 0;
}

img

int *a=new int[size];
程序退出前
delete [] a;


 
#include<stdio.h>
int main()
{
    int size;
    printf("Enter number of values:");
    scanf("%d", &size);
    int *a=new int[size];
    int i;
    for(i=0,i<size,i++){
        scanf("%d",&a[i]);
    }
    printf("%d",a[i]);
    delete [] a;
    return 0;
}

之前是C++,如果要求纯C的话:

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
int main()
{
    int size,i,*a;
    printf("Enter number of values:");
    scanf("%d", &size);
    a=(int *)malloc(size*sizeof(int));
    for(i=0,i<size,i++){
        scanf("%d",&a[i]);
    }
    printf("%d",a[i]);
    free((void *)a);
    return 0;
}