int n;
scanf("%d",&n);
int a[n];



این کد اشتباه هستش

برای اینکه از stack داینامیکی مموری بگیری از _alloca استفاده کن ( اینو من از استاد موسوی 2 هفته پیش یاد گرفتم استاد خودش هم 11 سال پیش از Paul DiLascia )