【发布时间】:2019-02-16 03:11:51
【问题描述】:
我编写了以下程序来查找数组的最大和最小元素。程序接受数组的输入,但随后停止工作。这背后的原因是什么?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,l,s,t;
printf("Enter number of inputs.\n");
scanf("%d",&n);
int a[n];
printf("Enter inputs.\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
l=a[0];
s=a[0];
for(i=0;i<n;i++)
{
if(a[i]>l)
{
l=a[i];
}
if(a[i]<s)
{
s=a[i];
}
}
printf("max = %d , min = %d\n",l,s);
return 0;
}
【问题讨论】:
-
程序在执行完程序中的所有操作后将停止工作。问题是什么?你有 SEGV 什么的?
-
@MikeCAT 它并没有做它应该做的一切。它只允许输入数组的元素,然后出现错误消息“Program.exe has stooped working.”。
-
您确定正在编译和运行您粘贴的代码吗?您在粘贴的第 10 行缺少
"字符。 -
一个好的“它没有按照我的预期做”问题的标志之一是表明你的期望和你得到的。如果您包括您的期望和您得到的,那么您将更快地获得更好的帮助。
-
"... 但随后停止工作" 不是一个好的问题陈述。您应该提供有关它如何不工作的详细信息。