大佬们为啥这个-1输出不了啊,j等于0的情况下输出结果是-16487392

#include int main() { int n,i,j=0,min; scanf("%d",&n); struct jd{ int t; int m; int x; }store[n]; for(i=0;i

代码没发完整,请把代码发完整

这种情况一般是赋值的数值超出变量类型(比如int类型)能表示的最大范围了。 

要把变量类型改成范围更大的类型,比如 long

 

#include int main() { int n,i; long j=0,min; scanf("%d",&n); ...

 

    if(j==0)

    {

        printf("-1");

        return 0;

    }

 

输出 -1   之后应该用return 0;退出main()函数来结束程序。后面的代码就不执行了

#include int main() { int n,i,j=0,min; scanf("%d",&n); struct jd{ int t; int m; int x; }store[n]; for(i=0;i

for(i=0;i

不能复制粘贴啊

我是直接printf("-1")

#include<stdio.h>
int main()
{
	int n,i,j=0,min;
	int a[1]={-1};
	scanf("%d",&n);
		struct jd{
		int t;
		int m;
		int x;
	}store[n]; 
	for(i=0;i<n;i++)
	{
		scanf("%d %d %d",&store[i].t,&store[i].m,&store[i].x);
	}
	for(i=0;i<n;i++)
	{
		if(store[i].t<store[i].x)
		{
		 	j=j+1;
	    }
	} 
	if(j==0)
	{
		printf("-1");
	}
	int c[j];
	j=0;
	for(i=0;i<n;i++)
	{
		if(store[i].t<store[i].x)
		{
				c[j]=store[i].m; j++;
		}
	}
	min=c[0];
	for(i=1;i<j;i++)
	{
		if(c[i]<min)
		min=c[i];
	}
	printf("%d",min); 
	return 0;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632