通過指針調(diào)用,修改了數(shù)值。
成都創(chuàng)新互聯(lián)主營珠山網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā),珠山h5小程序設(shè)計搭建,珠山網(wǎng)站營銷推廣歡迎珠山等地區(qū)企業(yè)咨詢
++*x,++*y對指針指向的值進(jìn)行了修改,所以值增加了1,
*(z++)輸出z的之后,對指針本身的地址增加一個int的偏移,但是函數(shù)返回時,指針本身的修改被丟棄,所以每次結(jié)果一致。
使用void prt(int*x,int*y,int*z)這樣的接口,指針本身不變更不可保存,但是指針指向的值的變化會被記錄下來的。
在C中函數(shù)只能有一個返回值,但如果使用指針變量zd的話就可以返回多個值。為什么呢。實際上數(shù)組名本身就是一個指針,指向該數(shù)組在內(nèi)存中所開辟出的空間的第一個地址值。所以,返回一個數(shù)組回(即多個值)與返回一個數(shù)組名(其實是第一個元素的地址,如果是二維數(shù)組那就是數(shù)組第0行首地址)本質(zhì)上并無區(qū)別。只要有數(shù)組第一答個元素的地址,通過諸如:int *p;p=a;p++(實際上這里p=a與p=a[0]等價)直接就可以訪問該數(shù)組中后面的元素,可以對數(shù)據(jù)進(jìn)行操作的了。
#include?stdio.h
void?func(int?i);
int?main(void)?
{
func(1);
return?0;
}
void?func(int?i)
{
int?test;
printf("%p\n",test);
if(i)
{
func(i-1);
}
}
1.可以使用循環(huán)語句實現(xiàn)。例如while循環(huán)語句,計算機(jī)的一種基本循環(huán)模式。當(dāng)滿足條件時進(jìn)入循環(huán),不滿足跳出。while語句的一般表達(dá)式為:
while(表達(dá)式){
循環(huán)體
}
2.例程:
#include
int main(){
int n;
while (scanf("%d",n)!=EOF){ //循環(huán)讀入n,直到EOF
printf ("%d ",n); //調(diào)用函數(shù)printf輸出n,循環(huán)多少次,就是輸出多少次
}
return 0;
}