I finally got it to work

This is how I had done initially
Created all the objects as sysdba although in diffrent schemas.
I then gave permission on tables in schema in A to B, logged in as sysdba
Then as sysdba gave permission on view in schema B to C
But this did not work

This is what I did today
After all the objects were created I logged in as user A
As user A I granted SELECT privilege with grant option to B on the tables used in the view
After this I logged in as user B and granted SELECT privilege to user C
Then I logged in as user C and did a SELECT on the view and it worked fine.

I guess 'with grant option' here is very important when giving a SELECT privilege on the underlying table for a view