c語言空函數
① c語言中空函數是怎麼回事
凡不加返回值類型限定的函數,就會被編譯器作為返回整型值處理。而不是當做void
譬如你的void fun() 本身就沒有返回值 如果定義為fun() 雖然不給函數體內加return語句 但照樣會返回一個整型數 因為什麼都不加 就默認為了int
舉個例子
f(){
}
main()
{
int a = 1;
a =f();
printf("%d ",a);
getch();
}
我這兒得到的結果是1842 是個整型數 你可以試試運行下 可能結果不一樣 但是結果肯定是個整型數據
作為對比 我們看看下一個實例
void f(){
}
main()
{
int a = 1;
f();
printf("%d ",a);
getch();
}
輸出結果是1 其中f()什麼都沒做 什麼都不返回
② C語言中的void main ( )即空函數是什麼意思呢真讓人搞不懂。請各位幫個忙,給我解釋一下。
在 C 和 C++ 中,不接收任何參數也不返回任何信息的主函數原型為「void main(void)」。
可能正是因為這個,所以很多人都誤認為如果不需要程序返回任何信息時可以把 main 函數定義成 void main(void) 。然而這是錯誤的!main 函數的返回值應該定義為 int 類型,C 和 C++ 標准中都是這樣規定的。雖然在一些編譯器中,void main 可以通過編譯(如 vc6),但並非所有編譯器都支持 void main ,因為標准中從來沒有定義過 void main 。g++3.2 中如果 main 函數的返回值不是 int 類型,就根本通不過編譯。而 gcc3.2 則會發出警告。所以,如果你想你的程序擁有很好的可移植性,請一定要用 int main 。
來源:http://..com/question/39961266.html
③ c語言中允許定義空函數嗎
c語言中允許定義空函數。
C語言是一門面向過程的抽象化的通用程序設計語言廣泛應用於底層開發C語言能以簡易的方式編譯處理低級存儲器,C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
簡介
C語言是一門面向過程的計算機編程語言與C++、C#、Java等面向對象編程語言有所不同,C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C語言誕生於美國的貝爾實驗室由丹尼斯里奇以肯湯普森設計的B語言為基礎發展而來在它的主體設計完成後,湯普森和里奇用它完全重寫了UNIX且隨著UNIX的發展c語言也得到了不斷的完善。
C語言繼續發展在1982年很多有識之士和美國國家標准協會為了使C語言健康地發展下去決定成立C標准委員會建立C語言的標准,委員會由硬體廠商編譯器及其他軟體工具生產商軟體設計師顧問學術界人士C語言作者和應用程序員組成。
④ C語言函數
void
是在建立函數的時候使用的,如果你建立的函數不需要返回某個類型的數值,就在函數前面加void,比如:你建立一個返回實型值的函數--int
create();
在主函數main()中使用這個函數就可以用一個實型變數接受函數返回的數值---n=create();當然也可以只寫create();那你的返回值就無意義了。如果你建立一個無返回値的函數--void
create();在主函數中就不能用一個變數去接受函數--n=create();是錯誤的,只能單獨寫create();
⑤ C語言中空函數是怎麼回事
int
add
(
int
a
,
int
b
)
{
return
a+b
;
}
void
main()
{
int
a
=
2
;
int
b
=
3
;
int
c
;
c
=
add(a
,
b
);
}
某些函數運行完了需要它反饋一個值,就用返回值唄,void就是不需要這個函數反饋什麼內容。
⑥ c語言中的空函數返回一個不確定的值的意思是返回的數據的數據類型不確定還是返回的數據沒有確定的值
返回的數據是個不確定的值,原因是:
1、你定義函數fun()前面加void或者不加時,默認是無返回值,或者也說返回了一個垃圾數據
2、而這個垃圾數據通常都是固定的一串整形的數據,因為這是編譯器編譯時釋放函數沒有返回值,所以系統隨機返回的一個垃圾值,而往往你輸出驗證時就是差不多大小一個整形數據。
3、也有人理解無返回值,這只是一種理解和解釋編譯器規則的想法。
如果滿意,請採納!
⑦ c語言 空類型函數在主程序中怎麼寫
你的
函數調用
寫錯了!
改成如下:
scanf_s("%d%d",
&a,&b
);
yxr(
a,
b
)
;
//函數調用只需要寫出來函數名和
實參
就可以了!
⑧ C語言中的空函數和無參函數是一回事嗎
空函數是不是沒有內容的函數吧,不會閑來無事自己寫個空函數吧,寫上的話也是為了暫時記憶有個這樣的函數,內容以後再添加上來吧;
無參函數,無參函數不引用參數,但是函數是有內容要執行的。
⑨ C語言中怎麼定義一個含有一個含有二維數組的空函數
空函數就是什麼也不做的函數。
void kong(){ //函數沒形參
int a[2][3]={1,2,3,4,5,6}; //函數內有個二維數組
}
void kong2(int b[3][3]){ //函數形參有個二維數組
int a[3][2]={1,2,3,4,5,6}; //函數內有個二維數組
}
main(){
int c[3][3];
kong(); // 調用空函數,試試無參
kong2(c); // 調用空函數,試試參數傳遞
return 0;
}