mainc語言
① c語言main函數
C語言中的main函數扮演著程序啟動的關鍵角色,它標志著程序執行的起點。main函數是程序的入口點,程序從這里開始運行。
在C語言中,main函數有兩種基本形式。第一種形式為int main(void){},這意味著函數不接受任何參數,並且返回一個整數值。第二種形式為int main(int argc, char *argv[]){},這種形式的main函數接受兩個參數:argc表示命令行參數的數量,而argv則是一個指向字元串數組的指針,這些字元串是程序運行時通過命令行傳遞給程序的參數。
需要注意的是,main函數的返回值必須是整數類型,這是C語言的標准要求。返回值通常用於通知調用程序main函數的執行結果,例如0通常表示程序成功執行,而非零值可能表示程序執行過程中出現的錯誤。
盡管C++中可以省略void聲明,但在C語言中,為了保持代碼的一致性和清晰性,建議明確寫出void。在實際編程中,編譯器通常會忽略這一細節,但在規范編程實踐中,明確聲明是非常重要的。
對於帶參數的main函數,其中argc參數表示傳遞給程序的命令行參數數量,包括程序名本身。argv則是一個指向字元串數組的指針,每個字元串代表一個命令行參數。這種方式允許程序與外部環境進行交互,接收用戶輸入或執行特定的操作。
總之,正確理解和使用main函數對於編寫可移植且高效的C程序至關重要。無論是哪種形式的main函數,都需要遵循C語言的標准規范,以確保程序的穩定性和可靠性。
② C語言main(){}運行結果
#include"stdio.h"
intmain()
{
inti;
floatmax,min,num[10];
printf("請輸入10個數,每輸入一個數按回車鍵結束:\n");
for(i=0;i<10;i++)
{
scanf("%f",&num[i]);
}
max=min=num[0];
for(i=1;i<10;i++)
{
if(max<num[i])
max=num[i];
elseif(min>num[i])
min=num[i];
}
printf("最大為:%f\n最小為:%f\n",max,min);
return0;
}
運行效果:
(2)mainc語言擴展閱讀:
return用法:
在C++的關鍵字,它提供了終止函數執行的一種方式。當return語句提供了一個值時,這個值就成為函數的返回值.
1、C
在C89中,main()是可以接受的。Brian W.Kernighan和Dennis M.Ritchie的經典巨著The C programming Language 2e(《C程序設計語言第二版》)用的就是main()。不過在最新的C99標准中,只有以下兩種定義方式是正確的:
int main(void)
int main(int argc,char*argv[])
當然,我也可以做一點小小的改動。例如:char*argv[]可以寫成char**argv;argv和argc可以改成別的變數名(如intval和charval),不過一定要符合變數的命名規則。
如果不需要從命令行中獲取參數,請用int main(void);否則請用int main(int argc,char*argv[])。
main函數的返回值類型必須是int,這樣返回值才能傳遞給程序的激活者(如操作系統)。
如果main函數的最後沒有寫return語句的話,C99規定編譯器要自動在生成的目標文件中(如exe文件)加入return 0;,表示程序正常退出。不過,我還是建議你最好在main函數的最後加上return語句,雖然沒有這個必要,但這是一個好的習慣。
注意,vc6不會在目標文件中加入return 0;,大概是因為vc6是98年的產品,所以才不支持這個特性。現在明白我為什麼建議你最好加上return語句了吧!不過,gcc3.2(Linux下的C編譯器)會在生成的目標文件中加入return 0;。
2、C++
C++98中定義了如下兩種main函數的定義方式:
int main()
int main(int argc,char*argv[])
int main()等同於C99中的int main(void);int main(int argc,char*argv[])的用法也和C99中定義的一樣。同樣,main函數的返回值類型也必須是int。
如果main函數的末尾沒寫return語句,C++98規定編譯器要自動在生成的目標文件中加入return 0;。同樣,vc6也不支持這個特性,但是g++3.2(Linux下的C++編譯器)支持。