int,C99/C++ 已廢除,必須顯式聲明。void 表示無返回值,return 可省略或寫 return;。main 函數若無 return,部分編譯器隱式補 return 0;(C99 標準保證)。int main() {
printf("111\n");
printf("222\n");
return 0; // 後續代碼不再執行
printf("333\n");
printf("444\n");
}
return; 跳出void prn(void) {
printf("111\n");
printf("222\n");
return; // 無參數 return
printf("333\n"); // 不執行
}
long long MySqr(int x) {
return (x * x); // 括號合法,非賦值運算
}
| 特性 | return | exit() |
|---|---|---|
| 作用範圍 | 退出當前函數 | 退出整個程序 |
| 在 main 中 | 返回值給作業系統(0=正常,非0=異常) | 同,參數為返回碼 |
| 在其他函數 | 返回調用者繼續執行 | 直接終止進程,不返回 |
| 頭文件 | 無需 | <stdlib.h> |
void prn(void) {
printf("abc\n");
exit(1); // 異常退出程序,main 後續不執行
}
abort() 同樣終止程序,但不執行清理(如 atexit 註冊函數、流緩衝區刷新)。
float average(int a, int b, int c) {
return (a + b + c) / 3.0; // 必須用 3.0 強制浮點除法
// return (a + b + c) / 3; // 錯誤:整數除法先截斷再轉浮點
}
return,現代實務傾向多 return 簡化邏輯。int。return 立即結束函數執行,後續代碼死碼。return(函數級)與 exit(進程級)。