getting maximum value from array in c++ using pointer : I am gonna want maximum value from the array using pointer. But am not getting the accurate value. Please, help.

    #include <iostream>
    using namespace std;
    int main()
    {
        int* largest;
        int a[5]={4,5,666,7,8};
        largest=a;
        for(int i=1; i<5; i++)
        {
        	if(*largest<*(largest+i))
        	{
        		*largest=*(largest+i);
        		largest=largest+i;
    		}
    	}
        cout<<*largest;
        
    }

I am getting 7339544 as output rather than 666. I don't know what I am doing wrong.