把變量定義在主函數之外,即把變量設置為全局的。

成都創新互聯公司不只是一家網站建設的網絡公司;我們對營銷、技術、服務都有自己獨特見解,公司采取“創意+綜合+營銷”一體化的方式為您提供更專業的服務!我們經歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關注我們的網站建設、網站制作質量和服務品質,在得到用戶滿意的同時,也能得到同行業的專業認可,能夠為行業創新發展助力。未來將繼續專注于技術創新,服務升級,滿足企業一站式營銷型網站需求,讓再小的成都品牌網站建設也能產生價值!
一般我們都把變量的定義放在函數中,因此變量的范圍就是在本函數中。可是如果定義在所有函數的外面,這樣所有的函數中,都可以使用本變量。
你可以試一下這個程序。定義一個全局變量a,在主函數中進行賦值,然后在子函數中進行輸出,結果是5.
#include
int a;
void func();//函數聲明
int main()
{
a=5;
func();
}
void func()
{
printf("%d\n", a);
}
+++++++++++++++++++++++++++++++++++++++++++++++++++
當然,除了定義全局變量這個方法,還有其他的方法,那就是指針。在子函數的參數中傳遞變量的地址,依然可以使用該變量,依然能夠改變該變量的值。因為主函數和子函數的變量共用的是同一個地址的變量,因此,不管在哪個函數中對變量進行操作,都會影響變量。
比如下面這個程序,在主函數中a的值為5,將變量a的地址傳遞過去,子函數將該地址中的變量的值設置為3,然后主函數輸出,結果卻是3.
#include
void func(int *b);//函數聲明
int main()
{
int a=5;
func(a);//把變量a的地址傳遞過去
printf("%d\n", a);
}
void func(int *b)
{
*b=3; //將地址b中變量的值設置為3
}
你在main函數中的這一行語句void equation(double a,double b,double c);是函數的聲明不是調用改為equation(a,b,c);就行了
因為語法就是這樣啊,函數調用直接使用其函數名即可,函數是void類型只是標識該函數沒有返回值而已。
不是子函數。
在C語言中,main()函數是程序的入口,是所有函數中最先執行的函數。它是程序的主要執行部分,通常包含整個程序的控制結構和調用其他函數。其中 int 是函數返回值類型,main是函數名,void是表示函數沒有參數。
子函數就是被其他函數調用的函數。在main()函數中可以調用其他函數來完成具體的功能,這些被調用的函數就是子函數。
【void的含義】
void的字面意思是“無類型”,void *則為“無類型指針”,void *可以指向任何類型的數據。
void幾乎只有“注釋”和限制程序的作用,因為從來沒有人會定義一個void變量, void真正發揮的【作用】在于:
(1) 對函數返回的限定;
(2) 對函數參數的限定。
我們知道,在定義函數時,加在函數名前的“void”表示該函數沒有返回值。但在調用時,在函數名前加“(void)”的作用又是什么呢?
最明顯的一點就是表示程序并不關心調用該函數后的返回值是什么,比如函數strcpy,我們直接用“strcpy(des_str, src_str);”這樣的形式來調用。“(void)strcpy(des_str, src_str);”這樣的形式還真不多見!
原因是這種寫法不針對人,也不針對編譯器,而是針對靜態代碼檢測工具,它會把函數返回值作為一項檢測標準。在某些大公司,比較重視代碼規范,若在代碼靜態檢測時需要檢測該項。此時就需要用在被調用的函數(名)前加上“(void)”這種形式來告訴靜態代碼檢測工具程序并非沒有處理該函數的返回值,而是該處確實不需要處理它(該函數的返回值),不需要再對該處代碼作此項檢測。其實這和我們在代碼中使用“#pragma warning (disable: XXXX)”的道理是一樣的。
l例如: 統計整數里面各位 1 2 3 的個數
//***************************************************
#
include stdio.h
int c1, c2, c3;
void fun(long n)
{
c1 = c2 = c3 = 0;
while (n != 0)
{
switch (n % 10)
{ case 1:
c1++;
break;
case 2:
c2++;
break;
case 3:
c3++;
}
n /= 10;
}
}
int main()
{ long n;
scanf("%ld", n); //輸入整數n
fun(n); //調用自定義函數fun
printf("C1=%d C2=%d C3=%d\n", c1, c2, c3); //輸出
}
本文名稱:c語言調用void子函數 c++語言void函數用法
鏈接分享:http://www.yijiale78.com/article8/dodeiop.html
成都網站建設公司_創新互聯,為您提供動態網站、App設計、域名注冊、網頁設計公司、ChatGPT、網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯