您的這個程序,主函數中的第一句話表示p1 和str都是數組名,指向數組中的第一個元素。p2是指針變量,指向的是字符型數據。第二句話表示p2這個指針變量指向的是包含有abc等三個元素的字符型數組。
成都網站建設、做網站服務團隊是一支充滿著熱情的團隊,執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標準與要求,同時竭誠為客戶提供服務是我們的理念。成都創(chuàng)新互聯(lián)公司把每個網站當做一個產品來開發(fā),精雕細琢,追求一名工匠心中的細致,我們更用心!
如subst,str都是char*類型的,他們是字符指針,所以他們指向的類型是字符。*str和str[0]的含義是一樣的,意思是取得首字符。
int a;char str[100];scanf(%d%s,&a,str);用 23 asdCR響應時,3前面的空格和3與a之間的空格被當作分隔符讀入后丟棄,而最后的CR仍保留在輸入緩沖區(qū)中。
1請編寫函數fun,其功能是計算并輸出n門課程的平均值,并統(tǒng)計在平均值以上的課程個數,該個數作為函數值返回。
指針指向的內存地址的值發(fā)生交換,但指針自身指向的地址是不變的,沒錯啊。指針自己的值沒有變,原來指向20#的現在還是指向20#,但20#桌坐的女生已經和30#桌的換了。
1請編寫函數fun,其功能是計算并輸出n門課程的平均值,并統(tǒng)計在平均值以上的課程個數,該個數作為函數值返回。
這里const修飾的是*input,表示數組指針指向的地址內容不能修改,但是數組指針本身值可以修改。也就是說函數中可以改變input指向的地址(比如input++),但是不能改變其指向的值(比如input[0]=A)。
這么給你解釋吧,指針就相當是一個門牌號。第一個呢,是因為f()函數的參數是指針,就是“門牌號”,所以他們交換的時候是把門牌號進行了交換。
1、p = a+5 就是 p指向a[5]的地址。
2、p指向數組a[]的第1個元素,也就是8。接下來,指針p先--,指向了數組a[]的第0個元素,也就是5。之后y取出p指向的內容,即5。之后p指針指向的內容又累加,即數組a[]的第0個元素從5變成了6。
3、//說明:我在VC++0編譯環(huán)境里運行通過了。
4、解釋說明如下:short int *pi=5; //定義了一個int型指針變量pi,存放的地址值是5//而變量i的地址是5,所以pi指向了變量i,i=50。即pi=&i=5, i=50。