在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/C/ 指針傳值問題。

指針傳值問題。

請問一下為什么輸出的數(shù)沒有返回值?就是代碼中的a,沒有值。

include<stdio.h>

int fun(int *p)
{

int sum=0;
for(int i=0;i<10;i++)
{
    sum=sum+i;
}
p=&sum;
return 0;

}
int main()
{

int a;
fun(&a);
printf("%d",a);

}
a的值不能這樣從函數(shù)傳給主函數(shù)嗎?

回答
編輯回答
心上人

p=&sum;這句改成*p = sum;

p是一個指針變量,一開始指向a,你那樣寫是把p本身賦值為sum的地址,賦值后p指向sum。修改后的意思是把p所指向的變量賦值為sum,也就是把a賦值為sum。這樣結(jié)果才是正確的。

2018年5月19日 15:51
編輯回答
慢半拍
int fun(int *p)
{

int sum=0;
for(int i=0;i<10;i++)
{
    sum=sum+i;
}
p=&sum;
return 0;

}
int main()
{

int a;
fun(&a);
printf("%d",a);

}

當(dāng)然可以,
你發(fā)現(xiàn)有什么不同嗎?
仔細(xì)看看你的 ”分號“ , 這種坑,踩幾次就記住了。

2018年3月20日 02:46