I have a for loop (inside a function) that is supposed to output the highest grade in the class. But it's not catching the "A" in the class. Why not?

I also sort of expected my array index to generate an out of range error, but I'm not getting one. Lucky, I guess, though I'm not sure why.

```
struct Student {
   let firstName: String
   let lastName: String
   let grade: String 
}

struct Classroom {
 let nameOfClass: String
 let students: [Student]

 func highGrade(students: [Student]) {
     var x: Int = 0

     for student in students {
        if students[x].grade < students[x + 1].grade {
            print(student.grade)
             x += 1
         }
         else {
             print("Nope")
         }
     }
 } }

let student1 = Student(firstName: "Keith", lastName: "Grimes", grade: "F")
let student2 = Student(firstName: "Debbie", lastName: "Grimes", grade: "A")
let student3 = Student(firstName: "Nicholas", lastName: "Grimes", grade: "C")

let class1 = Classroom(nameOfClass: "Swift", students: [student1, student2, student3])

class1.highGrade(students: [student1, student2, student3])

```

I'm trying to find the highest grade in the class out of three students.