1樓:網際網路實用技術分享
fun(a,strlen(a));
p1=w;p2=w+m-1;//字串的啟示位址賦給p1,也就是p1指向字串的開始,即*p1='a',w+m-1是在字串w的起始位置偏移7-1個字元,也就是指向字串的結尾,即*p2='g';
整個程式的執行順序如下:
開始p1指向開始,p2指向末尾;p1的位址小於p2的時候執行while迴圈;
s=*p1++;按照優先順序,先將*p1賦值給s,即s='a',p1再向前移乙個位元組,指向b。
*p1=*p2--;同樣的道理,按照優先順序,*p2指向的值'g'先賦值給*p1,此時*p1就是g,p2--後p2指向f。
*p2=s;這句的意思是將s=『a』的值賦給p2指向的記憶體單元,也就是將'f'擦除,寫入'a',
所以第一輪迴圈後字串變為 a***eag,此時p1指向第二個字元,p2指向倒數第二個字元;
第二輪迴圈如下:
p1指向第二個字元g,p2指向倒數第二個字元a;
s=*p1++;按照優先順序,先將*p1賦值給s,即s='g',p1再向前移乙個位元組,指向c。
*p1=*p2--;同樣的道理,按照優先順序,*p2指向的值'a'先賦值給*p1,此時*p1就是a,p2--後p2指向e。
*p2=s;這句的意思是將s=『g』的值賦給p2指向的記憶體單元,也就是將'e'擦除,寫入'g',
所以這輪迴圈結束後字串為agadgag,此時p1指向第三個字元a,p2指向倒數第三個字元g
進入第三輪迴圈
p1指向第三個字元a,p2指向倒數第三個字元g;
s=*p1++;按照優先順序,先將*p1賦值給s,即s='a',p1再向前移乙個位元組,指向d。
*p1=*p2--;同樣的道理,按照優先順序,*p2指向的值'g'先賦值給*p1,此時*p1就是g,p2--後p2指向d。
*p2=s;這句的意思是將s=『a』的值賦給p2指向的記憶體單元,也就是將'g'擦除,寫入'a',
所以這輪迴圈結束後字串為agaagag,此時p1指向第四個字元a,p2指向倒數第四個字元a
進入下輪的時候判斷p1不小於p2,推出迴圈,最終的字串是agaagag
2樓:聽不清啊
這個程式其實不難。就是把字串s和他的串長傳遞到函式中,然後執行一次函式就可以了。在這個函式中,有兩個指標p1指向串首字元,p2指向串尾字元。
然後迴圈的條件是p1在p2之前。認真地模擬一遍程式的執行,看清楚每一輪迴圈體所做的事情。其實,迴圈體執行一遍所得的效果,就是把p1指向的字元,複製到p2的前乙個位置。
然後再將p2指向的字元,複製到p1的後乙個位置。然後p1後移一位,p2前移一位。這樣的迴圈體總共執行三次。
所以最後選擇的正確答案是答案c。
請問這道題怎麼做,請問這道題怎麼做
考考大家 這是一抄道可以測出乙個人有沒有商業頭腦的數學題。王師傅是賣魚的,一斤魚進價45元,現虧本大甩賣,顧客35元買了一公斤,給了王師傅100元假錢,王師傅沒零錢,於是找鄰居換了100元。事後鄰居存錢過程中發現錢是假的,被銀行沒收了,王師傅又賠了鄰居100元,請問王師傅一共虧了多少?注意 斤與公斤...
請問這道題怎麼做請問這道題怎麼做?謝謝!
右頂點是a,座標為 a,0 上頂點是b,座標為 0,b 左焦點是f,座標為 c,0 所以可以求得直線bf的方程為 y b c x b圓與直線bf相切,因此這個圓的半徑就是原點o到直線bf的距離。代入點到直線的距離公式,得到圓的半徑為 所以點c的座標為 0,bc a famn是平行四邊形,畫乙個圖就知...
這道題怎麼做,請問這道題怎麼做
2可以看成根號2的平方,所以結果是根號2 僅供參考 遇到分母為根號,分子分母同成根號 分母有理化 將分子分母同乘以 2化簡。2 2 2 2 2 2。這道題怎麼做?這是高中導數的題目歪。而且是剛開始學的時候的基礎題目,這個最好自己看看書和習題,以及理解了導數的本質以後再來做。我就先來弄弄吧,先求匯出,...