使用返回
返回一個值
一個常用案例:從 main()
返回
#include <stdlib.h> /* for EXIT_xxx macros */
int main(int argc, char ** argv)
{
if (2 < argc)
{
return EXIT_FAILURE; /* The code expects one argument:
leave immediately skipping the rest of the function's code */
}
/* Do stuff. */
return EXIT_SUCCESS;
}
補充說明:
-
對於返回型別為
void
的函式(不包括void *
或相關型別),return
語句不應具有任何關聯的表示式; 也就是說,唯一允許的返回宣告是return;
。 -
對於具有非
void
返回型別的函式,return
語句不應在沒有表示式的情況下出現。 -
對於
main()
(僅適用於main()
),不需要顯式的return
語句(在 C99 或更高版本中)。如果執行到達終止}
,則返回隱含值0
。有些人認為省略這種情況是不好的做法; 其他人積極建議將其廢除。
一無所獲
從 void
函式返回
void log(const char * message_to_log)
{
if (NULL == message_to_log)
{
return; /* Nothing to log, go home NOW, skip the logging. */
}
fprintf(stderr, "%s:%d %s\n", __FILE__, _LINE__, message_to_log);
return; /* Optional, as this function does not return a value. */
}