課程
/后端開發(fā)
/C
/C語言入門
C語言關(guān)于指針的問題
2016-12-08
源自:C語言入門 6-7
正在回答
結(jié)果是-12.
-------------
代碼如下:
#include?<stdio.h> int?main() { ?int?m[20]?=?{?0,0?}; ??int?*p?=?&m[5]; ?int?*q?=?m?+?17; ?int?n?=?p?-?q; ??printf("%d",?n); ?return?0; ?}
---------------???
int m[20].*p=&m[5].*q=m+17.n. n=p-q;求n的值
這是一道關(guān)于數(shù)組指針的題。我們逐步分析。
首先定義了長度為20的整型數(shù)組m,接著定義整型指針p指向m的第6個元素m[5],此時p中存儲著m[5]的地址。
接著定義q,并對p進行指針加減。我們知道,指針加減法中,加減的是元素個數(shù)而非地址本身。
又因為q=m+17,我們知道數(shù)組中m[],當(dāng)數(shù)組名m單獨出現(xiàn)時,其含義為數(shù)組m的第一個元素即m[0]。此題的精妙之處就在此。
因此q為第(0+17)個元素的地址,即m[17]的地址。
p與q相減,得到(-12)個元素。
答案為-12.
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
1 回答n<m,為什么m==n
1 回答#include <stdio.h> int main() { int m, n; for(m=3; m<=50; m++) { for(n=2; n<m; n++) { if(m%n==0) //什么條件下跳出當(dāng)前循環(huán) break; //這里應(yīng)該退出當(dāng)前循環(huán)了 } if(m == n) //n循環(huán)結(jié)束后,如果m=n的話就輸出m
3 回答for(n=2; n<m; n++)的n<m是什么意思
5 回答?for (n = 2; n <m; n++)
3 回答m與n???
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-12-10
結(jié)果是-12.
-------------
代碼如下:
---------------???
int m[20].*p=&m[5].*q=m+17.n. n=p-q;求n的值
這是一道關(guān)于數(shù)組指針的題。我們逐步分析。
首先定義了長度為20的整型數(shù)組m,接著定義整型指針p指向m的第6個元素m[5],此時p中存儲著m[5]的地址。
接著定義q,并對p進行指針加減。我們知道,指針加減法中,加減的是元素個數(shù)而非地址本身。
又因為q=m+17,我們知道數(shù)組中m[],當(dāng)數(shù)組名m單獨出現(xiàn)時,其含義為數(shù)組m的第一個元素即m[0]。此題的精妙之處就在此。
因此q為第(0+17)個元素的地址,即m[17]的地址。
p與q相減,得到(-12)個元素。
答案為-12.