![](/img/trans.png)
[英]Different types of extension error are showing on vs code after running c program
[英]VS Code C program is running but not showing anything
我正在尝试在我的 vs 代码上运行 c 程序。 我在 vs 代码中安装了代码运行器和 c/c++ 扩展。 每当我尝试运行该程序时,它总是在运行而不显示我的程序的任何输出或结果。
它发生在这个特定的代码中。
#include<stdio.h>
int main()
{
int a[10],i,j,temp,n;
printf("\n Enter the max no.of Elements to Sort: \n");
scanf("%d",&n);
printf("\n Enter the Elements : \n");
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
for(i=0; i<n; i++)
for(j=i+1; j<n; j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for(i=0; i<n; i++)
{
printf("%d\t",a[i]);
}
return 0;
}
在这里您可以看到问题所在。 它运行了 2-3 分钟,但没有显示任何输出。
[运行] cd "c:\\Users\\rakib\\Downloads\\code" && gcc labreport.c -o labreport && "c:\\Users\\rakib\\Downloads\\code"labreport
您正在堆栈上创建一个大小为 10 的数组
int a[10];
但随后您要求用户输入他们想要排序的元素数量。 如果用户想要对 10 个以上的元素进行排序,那么您的代码将崩溃,因为您的数组只有 10 个整数的足够空间。 要解决此问题,您需要使用动态数组并将其分配在堆上。
int *a = (int*)malloc(n*sizeof(int));
不要忘记包含malloc.h
库并在使用完数组后释放它
free(a);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.