Correct option is C
Option (c) contains an error.
· The sentence uses future perfect tense ("will have learnt") to indicate an action that will be completed before another future event.
· The correct structure should use the simple present tense after "by the time" to indicate the specific point in the future when the second action occurs.
· Therefore, "she will have married" should be "she marries." The corrected sentence is: "Radha will have learnt cooking by the time she marries."