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

2021-08-18 09:04:22 字數 1901 閱讀 9449

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語言指標問題

不行,首先你要有一個陣列存放字母,然後這個二維陣列,行中表示下一個元素應該是a i j,你這樣寫的話就是跳到了下一行了,二不是下一個字母了,你需要知道指標只能指向已存在的物件。如果物件本身並不存在,那麼是無法指向的。你舉的例子裡,沒有說明 b 在哪個位置,從何指出b的地址呢。你要是想用p指向a的地址...

求C語言經典題目,誰有C語言的經典題目

c語言名題精選百則技巧篇 很不錯的一本書,你去看看。誰有c語言的經典題目 c語言經典題目 最短時間是這樣的。以本例子說。最快2人過 時間2 最快人回 時間1 最慢2人過 時間10 最快人回 時間2 最快2人過 時間2 一共17演算法就是這樣過河以最快2人和最慢2人交替進行,回來時候都是對岸最快的人回...

C語言的問題,C語言的一個問題

每個大寫字母與對應的小寫字母ascii碼值都相差32.a 的ascii碼值為97,a 的ascii碼值為65,97 65 32 b 的ascii碼值為98,b 的ascii碼值為66,98 66 32.小寫字母的ascii碼值都大於大寫字母的ascii碼值.所以,小寫字母轉換成大寫字母只要減去一個小...