有以下程式includestdio hmainint c 610,20,30,40,50,60p,s p a s c

2021-04-29 06:03:05 字數 1594 閱讀 7118

1樓:匿名使用者

1、p=a; 應該是 p=c; 吧?

2、s和p都是int型別的指標,二者相減是陣列c第0個元素與第5各元素的下標之差(而不是元素值之差),當然應該是5。

2樓:聽不清啊

你這裡輸出的是二個指標的位址之差,c[5]與c[0]的位址之差(以int的儲存空間大小為單專位),所以是5。若想屬

得到所期望的50,就該是二個單元儲存的值的差。此時的輸出語句應該寫為:

#include

main()

,*p,*s;

p=a; s=&c[5];

printf("%d\n",*s-*p);}

下面程式的執行結果為( )。 #include void main() { int a[6]={1,2,3,4,5,6},(*c)[3]=a;

3樓:

4,c正確,選c。但(*c)[3]=a;錯大了,應該寫成(*c)[3]=(int (*)[3])a;。

4樓:匿名使用者

#include

int main(void)

,(*c)[3]=a;   //這句編bai譯不過,按du white_mouseybz 大神zhi提示修dao改如下:

int a[6]=,(*c)[3]=(int (*)[3])a;

printf("\n%d", c[1][0]);

//如 white_mouseybz 大神所說,這裡的版確是返回權 4

return 0;}

有以下程式#include

5樓:楊思狼

首先p是乙個變數,在

bai*(p++)後p變數的值變du化了,p變數的值指zhi向陣列中的a[1]即4,但是daop的位址沒有變專,即k仍然指

屬向p,所以k就可以通過p訪問到a[1] = 4了。

也就是剛開始k----->p------>a[0],在執行*(p++)後變成k----->p------>a[1];

6樓:蠟筆小新

有什麼問題嗎?????????

9-11有以下程式 #include main() {int a[]={1,2,3,4,5,6,7,8,9,10,11,12}; int *p=a+5,*q=null;

7樓:匿名使用者

d a 13715 d d d b a d a b c b a

c語言:有以下程式,求輸出結果。 #include int main() {int k=0;char c1='a'

8樓:匿名使用者

55 a b《回車》,你輸入的55和a之間有空格

然後他認為你輸入的55 空格 a 空格 b,他只接收前面的三個

有以下程式includestdiohmain

a i 是指a陣列的第i項元素,沒有什麼執行不執行的。a i 就是把該元素 1了。如果有這樣的語句 x a i 那麼才是先把該元素賦值給 x,然後該元素自己 1。注 a i 是個表示式,其值為 a i 的原始值,這個表示式求值後,a i 自身 1。include int main for i 1 i...

有以下程式程式執行後的輸出結果是

這個問題嘛,其實比較簡單。由於for迴圈裡面沒有趨近迴圈結束的語句,所以每次for迴圈都是要執行的。i 0時,兩個if都不成立,所以直接執行i 和s 1這兩句,使i 1 以此類推,i 2時,也是這樣執行,最後i 3i 3進入迴圈內的第乙個if語句判斷是成立的,所以執行continue,也就是跳出本次...

以下程式如何理解

是斐波那契數列 過程如下 k1初值為1,k1為2。迴圈第一次 k等於k1 k2,即1 2,所以k為3 斐波那契數列第4項 然後k2賦給k1,即k1為2 然後k賦給k2,即k2為3 迴圈第二次 k等於k1 k2,即2 3,所以k為5 斐波那契數列第5項 然後k2賦給k1,即k1為3 然後k賦給k2,即...