c語言中有關(guān)于在函數(shù)返回值的問題,在函數(shù)中的局部變量主要是在棧上開辟的,出了函數(shù)變量就被回收了,針對函數(shù)返回值得問題,給出下面幾個比較具體的例子來說明:
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比隴南網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式隴南網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋隴南地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。
函數(shù)返回值是在函數(shù)中定義的局部變量
這類型的返回值在主函數(shù)中是可以使用的,因為返回局部變量值得時候,返回的是值得一個副本,而在主函數(shù)中我們需要的也只是這個值而已,因此是可以的,例如
int fun(char *arr)
{
int num = 0;
while (*arr != '\0')
{
num = num * 10 + *arr - '0';
arr++;
}
return num;
printf("%d ", num);
}
int main()
{
int tem = 0;
char *arr = "12345";
tem = fun(arr);
printf("%d",tem);
system("pause");
return 0;
}
2.函數(shù)返回的是函數(shù)中定義的指針變量
char *fun()
{
char *arr = "1234";
return arr;
}
int main()
{
char *tem = fun();
printf("%s", tem);
system("pause");
return 0;
}
這在運行過程中也是正確的。
3.函數(shù)不能返回局部變量的地址
int *fun()
{
int a = 10;
return &a;
}
int main()
{
int *tem = fun();
printf("%d", *tem);
system("pause");
return 0;
}
4.函數(shù)也不能返回數(shù)組的首地址
int *fun()
{
int arr[] = { 1, 2, 3, 4 };
return arr;
}
int main()
{
int *tem = fun();
system("pause");
return 0;
}
分享題目:C語言中函數(shù)返回值的問題
當(dāng)前網(wǎng)址:http://jinyejixie.com/article16/pshpgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、Google、品牌網(wǎng)站制作、外貿(mào)建站、微信公眾號、標簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)