1、(p1++)的意思是取p1地址中的值,然后p1自增1(因?yàn)?+在p1的右面),即指針向后移動(dòng)一位,指向下個(gè)元素。所以第一遍運(yùn)行s=*p1++;后,s的值為1,p1指向第二個(gè)位置(2)。以此類推。
專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)市中免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
2、編程中要注意的問題是:如果scanf()后還是scanf(),第一個(gè)scanf()留下的空白符不會(huì)影響到下一個(gè)scanf()得到有效數(shù)據(jù)。
3、int *p;只有地址,沒有內(nèi)存空間,這程序一般會(huì)崩潰。
您的這個(gè)程序,主函數(shù)中的第一句話表示p1 和str都是數(shù)組名,指向數(shù)組中的第一個(gè)元素。p2是指針變量,指向的是字符型數(shù)據(jù)。第二句話表示p2這個(gè)指針變量指向的是包含有abc等三個(gè)元素的字符型數(shù)組。
答案是D 在循環(huán)開始,ptr指向了數(shù)組的首地址,經(jīng)過一次循環(huán),指針指向了下一個(gè)字節(jié)。第一次循環(huán) ptr指向該數(shù)組第一個(gè)字節(jié),通過printf函數(shù),輸出了指針?biāo)傅淖址癆BCDE”一次循環(huán),每次指針后移一個(gè)字節(jié)。
1. 若有說明:int a=2, *p=&a, *q=p;,則以下非法的賦值語句是(D)。A. p=q; B. *p=*q; C. a=*q; D. q=a;a是整型數(shù),int *p,*q定義了指針,p,q是指向整型的指針。
第二個(gè)問題更簡(jiǎn)單了。a[i][j] 是二維數(shù)組,相當(dāng)于a是一個(gè)指向指針的指針,或者說a[i]是一個(gè)數(shù)組,這個(gè)數(shù)組的每個(gè)元素又是一個(gè)一維數(shù)組。
首先聲明一個(gè)整型數(shù)組a,整形變量y,整型指針p。p指向數(shù)組a[]的第1個(gè)元素,也就是8。接下來,指針p先--,指向了數(shù)組a[]的第0個(gè)元素,也就是5。之后y取出p指向的內(nèi)容,即5。
建議換地方做題~第二題那么明顯的大小為10的數(shù)組下標(biāo)最多為9這種題目都答案給錯(cuò),可見出題者的水平,第一題無論怎樣都不可能離開C和D 答案居然為B太侮辱智商。
答案是D 在循環(huán)開始,ptr指向了數(shù)組的首地址,經(jīng)過一次循環(huán),指針指向了下一個(gè)字節(jié)。第一次循環(huán) ptr指向該數(shù)組第一個(gè)字節(jié),通過printf函數(shù),輸出了指針?biāo)傅淖址癆BCDE”一次循環(huán),每次指針后移一個(gè)字節(jié)。