Okay so in the PrintName function, it contains a printf function. However, I read that printf returns a value which is the number of characters. Shouldn't PrintName hence return an int as well? Thanks!
1 Answer
Good question. There is no requirement to capture a return value. Just because a function returns a value doesn't mean that the calling code needs to do anything with it. For many functions, like printf, it is common to disregard the return value. However, when there are bugs in a program, those return values can become useful in diagnosing and debugging.
To extend the concept, what if a function calls multiple other functions that all return values, maybe even different value types. What is it supposed to return then? Again, there's no requirement to return anything. It's up to the programmer to decide what, if anything, to return.
If this answers your question, please click on the check mark to accept. Let's keep up on forum maintenance. ;-)
-
Hmmm I am somewhat seeing the light... but just for additional clarification, under what circumstances is having a return value necessary? I know this sounds a bit stupid but if it's up to the programmer, what's the purpose of return values then? Thank you! Apr 24, 2016 at 0:45
-
Most existing library functions return something, either a calculated result for which they were designed (ex: toupper()),maybe a diagnostic result describing success, a degree of success, or an indicator of the type of failure that may have occurred, even though they may carry out their prescribed function (ex: fopen() ). For something you're creating, it's up to you to determine whether a return value is necessary, optional, or desired. Does your function calculate a value and return it? Does it do something like print that needs no return? Don't care about the result? It's up to you.– Cliff BApr 24, 2016 at 0:52