【发布时间】:2022-01-22 07:17:45
【问题描述】:
我正在尝试从数组中查找第二个最大数。出于某种原因,我的输出一直为零。
int main()
{
int i,j;
int arr[5],max=0,max2=0;
int *(ptr)=arr;
printf("Enter Array Elements: ");
for(i=0;i<5;i++)
{
scanf("%d",ptr+i);
}
for(j=0;j<5;j++){
if(max<*(ptr+j)&&max>max2)
{
max=*(ptr)+j;
}
else if(max2<*(ptr+j)&&max2<max)
{
max2=*(ptr)+j;
}
}
printf("\n2nd Maximum: %d",max2);
}
【问题讨论】:
-
OT:放下指针,这里没用。使用
scanf("%d", &a[i])和a[j]代替不可读的*(ptr)+j。