#includestdio.h
專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)江山免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
// 用于修改數(shù)組的函數(shù)
int change_array(int *num, int count)
{
int i,t;
for(i = 0; i count; i++)
{
t = num[i];
num[i] = t + 1;
}
}
int main()
{
int i, b[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// 調(diào)用函數(shù)
change_array(b, 10);
// 輸出結(jié)果
for(i = 0; i 10; ++i)
{
printf("%d ", b[i]);
}
}
小伙伴,沒看懂你的意思,創(chuàng)建一個(gè)已經(jīng)輸入數(shù)據(jù)的函數(shù)?代碼經(jīng)過編譯連接之后,就成二進(jìn)制了,也就是固態(tài)形式,不可能再修改一個(gè)函數(shù)的功能了。
如果要是預(yù)留一個(gè)數(shù)據(jù)的值倒是可以的:
不直接對(duì)原來參數(shù)進(jìn)行修改,用const,進(jìn)行值傳遞,在函數(shù)中運(yùn)算完成后return這個(gè)結(jié)果,在主????????函數(shù)中用變量接收。
對(duì)原來值直接操作,參數(shù)傳遞一個(gè)指針,可以再使用前對(duì)這個(gè)值進(jìn)行備份,或者在函數(shù)中定義一個(gè)變量對(duì)這個(gè)變量用參數(shù)進(jìn)行賦值,return這個(gè)備份參數(shù)。
還有很多方法,這兩種只是最簡(jiǎn)單的。
你不需要函數(shù),只需要一個(gè)函數(shù)指針即可。
void?B();
int?main()
{
void?(*p)()?=?B;?//定義函數(shù)指針p指向函數(shù)B
p();?//調(diào)用p()就是調(diào)用B()
return?0;
}
不能,為了系統(tǒng)的可移植性,C語(yǔ)言系統(tǒng)函數(shù)是無法更改的,只能定義函數(shù)庫(kù)沒有的函數(shù)。