Correct option is D
The correct option is (d) have been knowing.
Explanation:
The sentence describes a relationship that started in the past and continues up to the present — the speaker has known Vijaya for years and she is still the best friend. The time expression for years indicates a duration from the past up to now, which typically calls for the Present Perfect or Present Perfect Continuous Tense.
Among the given options, have been knowing is the only grammatically structured continuous form available. While know is generally a stative verb that does not ordinarily appear in the continuous form in standard usage, in the context of this exam question, option (d) have been knowing is selected as the intended correct answer as it represents the present perfect continuous structure.
Grammatical Rule (English):
Present Perfect Continuous = Subject + have/has + been + V₁ + ing + for/since + time
Explanation of Other Options:
- (a) have know – Grammatically incorrect; after have, the past participle (V³) must be used: have known. have know is not a valid verb form.
- (b) knowing – A gerund or present participle alone; cannot function as a finite verb in this position.
- (c) had been knowing – Past Perfect Continuous; refers to an action that was ongoing up to a certain point in the past. Since Vijaya is still the best friend (present context), past perfect is inappropriate.
So the correct answer is (d)