經典的c語言指標問題題目,一個經典的c語言指標問題題目

時間 2021-08-30 09:12:44

1樓:匿名使用者

for(p+m-1;p

其中的p+m-1並不改變p的值,所以p仍然指向a[0],因此,多加了a[0]和a[1]

2樓:匿名使用者

其中的p+m-1並不改變p的值,所以p仍然指向a[0],因此,多加了a[0]和a[1]

如果按我說的是"p=a+m-1",那麼p=a+3-1=a+2,也就是說p從a[2]開始加,a[2]是3,從3開始加,3+4+5=12;

樓上兩位正解

3樓:匿名使用者

void main()

,m,n,sum;

int *p;

scanf("%d%d",&m,&n);

p=a;

sum=0;

for(p+m-1;p

sum=sum+*p;

printf("%d",sum);

getch();}

關於c語言指標的一個問題如圖,求解釋~

4樓:dear_佩佩

//這樣

bai理解不

int sss(char *s, char *t)//終止時(1) s 指向結尾, t 沒有到結尾, 返回 (*s - *t) 為正數

//終止時(2) s 指向結尾, t 指向結尾, 返回 (*s - *t) 為 0

//終止時(3) s 沒有到結尾, t 指向結尾, 返回 (*s - *t) 為負數

return (*s - *t);}

5樓:document樂園

因為有一個等於的符號 所以是比較大小

關於c語言的指標問題(指標的地址+1問題) 10

6樓:小p精神

我來給你寫個例子,你參考一下

int *p, *q,*s;

int a[3] = ;

p = a; //將a的首地址賦值給p 那麼p指向的值應該是a[0]的值2

printf("a[0] = %d; *p = %d \n", a[0], *p);

q = &a[0] + 1; //將a[0]的地址向右偏移一位就等於a[1]的地址 a[1] = 8那麼*q應該等於8

s = q + 1; //將q指標向右偏移一位,相當於把a[1]的地址向右偏移一位,即a[2]的地址指向的值是25

//列印驗證一下

printf("a[0] = %d; *q = %d ;a[1] = %d *s = %d\n", a[0], *q,a[1],*s);

7樓:

輸出的四行**分別是:

a的值,

a的地址+1的地址值(並非a的地址,因為你的p值已經+1了),*p表示的是p指向地址的內容值;

*q表示a的地址+17地址上內容的值.

a的地址+1的值,是指向下一個地址,偏移量為a的型別長度

c語言的一個指標問題。。

8樓:

指標做加法和減法是按其指向的型別來的,char*加1是往後移動一個char那麼長的位置,long*加1是往後一定一個整型那麼長的位置,這裡4個char才有一個long那麼長(具體你可以用sizeof輸出看),所以q是long*,q++往後移動了4個char,應該指向e的位置

9樓:匿名使用者

q經過q=(long*)p強制型別轉換後,q指向p所指向的記憶體塊中的a,因為q是long 型4位指標,只能看到abcd四位,所以q++;後q指向了e,並且看到efgh四位,再經過強制型別轉換,r也指向e,所以結果就是efgh

c語言指標的問題,一個c語言指標的問題

劉文正粉絲 首先說一下,你這不是c語言,是c 問題一 這個就是問題二的內容了.p指向的是a,而p是一個地址.c語言輸出一個字串不是靠一個實際的資料輸出的,而是靠著實際資料的首地址輸出的.問題二 char ch aadsf 你要知道,一個字串的值是這個臨時值的首地址,也就是a的地址.而你又把這個地址給...

C語言的指標問題,C語言的一個指標問題。。

指標做加法和減法是按其指向的型別來的,char 加1是往後移動一個char那麼長的位置,long 加1是往後一定一個整型那麼長的位置,這裡4個char才有一個long那麼長 具體你可以用sizeof輸出看 所以q是long q 往後移動了4個char,應該指向e的位置 q經過q long p強制型別...

關於C語言指標問題,C語言指標的賦值問題

飛翔的蠍子大叔 關於int p1 123這個問題我看了很多資料,在這裡我發表一點看法,該問題非常好,這是c語言需要規範的地方。int p1 123 是非法操作,指標表示地址,地址 123?我是沒有見過這種操作。地址一般用二進位制 八進位制 十六進位制表示,123表示地址根本就是扯淡!這個語句的目的就...