-4
我正在做一个简单的函数,它返回从用户(数组)中给出的数字的最小整数。C最小函数总是返回2686916
但是,它总是在最后打印2686916
。这里是我的代码:
int function()
{
int ar[100];
int i;
int smallest = INT_MAX;
int nums;
int num;
int sum=0;
printf("\nenter array size\n");
scanf("%d",&num);
for(i=0;i<num;i++)
{
scanf("%d",&ar[i]);
sum=sum+ar[i];
}
if (nums <smallest){
smallest=nums;
printf("the smallest %d\n,smallest);
return 0;
}
}
我不知道我在做什么错。
在您检查其值之前,您没有设置'nums',并且如果您注意到编译器警告,您将会知道这一点。而“2686916”并不是最大的整数,因为最小的研究会告诉你。 “最小”被设置为最大整数值。 –
不仅如此,你的函数甚至不会返回最小值,编译器会告诉你。它要么返回'0',要么返回一个未定义的值。 –
好吧,首先,我的意思是它不打印。我希望它只是打印最小整数,而不是返回它。并且它始终打印2686916.INT_MAX链接到“最小”变量,因此它与我的意思相同。不知道如何解决这个问题,同时保持数组循环即时通讯。谢谢 –