When we use printf() with varying number of arguments like
printf("Hello");
printf("%d",a);
printf("%d%d",b,c);
why is this not called “overloading” (using same method with different task perform)?
If it is overloading, then why is C not considered an object-oriented programming language?
This is called a variadic function, not an overload. Overloading has nothing to do with object orientation.