日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一面微创题--字符串逆序输出

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一面微创题--字符串逆序输出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?????最近一直在等面試消息,都有點著急了,的確,還有太多不足,筆面之后的一面技術面,幸運地是在三個面試者中面試官留下了我,可是一句話又搞的我一點底都沒了:“你別以為你通過了就怎么著,其實你也很菜,你寫的程序不過就是讓我大概看懂了罷了。”可不,趁現在等消息好好想想寫的那程序得了。當時一看題目感覺挺簡單的,字符串逆序很容易實現吶。

????? 實現要求是至多只能申請一個空間,不能用庫函數。當時面試的時候是這樣考慮的,字符數組做函數參數傳遞,此時如果直接傳遞的話就成值傳參了,所以立馬就考慮到用二級指針。面試時寫的程序大概如下:

[c-sharp]view plaincopy
  • #include?<iostream>??
  • using?namespace?std;??
  • ??
  • void?reverse(char?**src,int?n);??
  • int?main(int?argc,char?**argv)??
  • {??
  • ????char?test[]?=?"I?love?you!";??
  • ????cout<<test<<endl;??
  • ????reverse(&test,sizeof(test));??
  • ????cout<<test<<endl;??
  • }??
  • ??
  • void?reverse(char?**src,int?n)??
  • {??
  • ????char?temp?=?'/0';??
  • ????for(int?i=0;i<n/2;i++)??
  • ????{??
  • ????????temp?=?(*src)[i];??
  • ????????*src[i]?=?*src[n-i-2];??
  • ????????*src[n-i-2]?=?temp;??
  • ????}??
  • ????*src[n-1]?=?'/0';??
  • ????return?;??
  • }??
  • ?

    可是此時編譯運行卻出錯:“reverse”: 不能將參數 1 從“char (*)[12]”轉換為“char **”;

    之后在main函數中加入:cout<<typeid(test).name()<<endl;cout<<typeid(&test).name()<<endl;發現,test為char *類型指針,而&test為char (*)[12]類型數組指針。所以參數傳遞時明顯不匹配,數組指針不能傳向二級指針形參。修改代碼后:

    [c-sharp]view plaincopy
  • #include?<iostream>??
  • using?namespace?std;??
  • ??
  • void?reverse(char?**src,int?n);??
  • int?main(int?argc,char?**argv)??
  • {??
  • ????char?test[]?=?"I?love?you!";??
  • ????????cout<<typeid(test).name()<<endl;??
  • ????????cout<<typeid(&test).name()<<endl;??
  • ????cout<<test<<endl;??
  • ????????char?*p?=?test;??
  • ????reverse(&p,sizeof(test));??
  • ????????//reverse(&test,sizeof(test));??
  • ????cout<<test<<endl;??
  • }??
  • ??
  • void?reverse(char?**src,int?n)??
  • {??
  • ????char?temp?=?'/0';??
  • ????for(int?i=0;i<n/2;i++)??
  • ????{??
  • ????????temp?=?*src[i];??
  • ????????*src[i]?=?*src[n-i-2];??
  • ????????*src[n-i-2]?=?temp;??
  • ????}??
  • ????*src[n-1]?=?'/0';??
  • ????return?;??
  • }??
  • 通過編譯運行后卻又出現內存錯誤,為什么呢?

    再看看reverse函數,優先級又出錯了,*src[i];....?這個算什么呢?[]的優先級比*高,所以首先src是與[]結合的,那再通過解引用獲得的會是什么元素,此處已經明顯內存溢出了。所以繼續修改:

    [c-sharp]view plaincopy
  • void?reverse(char?**src,int?n)??
  • {??
  • ????char?temp?=?'/0';??
  • ????for(int?i=0;i<n/2;i++)??
  • ????{??
  • ????????temp?=?(*src)[i];??
  • ????????(*src)[i]?=?(*src)[n-i-2];??
  • ????????(*src)[n-i-2]?=?temp;??
  • ????}??
  • ????(*src)[n-1]?=?'/0';??
  • ????return?;??
  • }??
  • 再繼續編譯運行,總算可以將"I love you!"逆序成"!uoy evol I"了。可是下面這個程序卻讓我徹徹底底掛掉了。

    [cpp]view plaincopy
  • #include?<iostream>??
  • using?namespace?std;??
  • ??
  • void?reverse(char?*src,int?n);??
  • int?main(int?argc,char?**argv)??
  • {??
  • ????char?test[]?=?"I?love?you!";??
  • ????cout<<test<<endl;??
  • ????reverse(test,sizeof(test));??
  • ????cout<<test<<endl;??
  • }??
  • ??
  • void?reverse(char?*src,int?n)??
  • {??
  • ????char?temp?=?'/0';??
  • ????for(int?i?=?0;i<n/2;i++)??
  • ????{??
  • ????????temp?=?src[i];??
  • ????????src[i]?=?src[n-i-2];??
  • ????????src[n-i-2]?=?temp;??
  • ????}??
  • ????return?;??
  • }??
  • 同樣達到了字符串逆序輸出的效果。怎么感覺有點畫蛇添足的效果呢,函數是傳入的是值形參,盡管這個值的類型是個指針類型,但是對于這個形參和實參來說,所指向的位置是一樣的,即所操作的地址是一樣的,所以直接用數組名操作即可。哎,果然還太菜吶。

    總結

    以上是生活随笔為你收集整理的一面微创题--字符串逆序输出的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 激情中文网 | 久久新视频| 免费黄视频在线观看 | 国产午夜小视频 | 在线a免费 | 国产精品视频全国免费观看 | 综合视频一区二区 | 亚洲色图自拍 | 成人免费看片视频 | 性色av网| 免费在线看黄网站 | 91久操 | 欧美日韩综合视频 | 亚洲综合性 | 日本丰满肉感bbwbbwbbw | 操操操日日日 | 成年人福利 | 亚洲免费视 | 在线日韩一区二区 | 午夜视频在线观看视频 | 欧美日韩一区二区在线观看视频 | 嫩草视频在线免费观看 | 污视频网站免费观看 | 97爱爱| 爱福利视频一区 | 婷婷人体 | 日本视频www| 亚洲av永久无码国产精品久久 | 中文字幕日韩一区 | 国产偷人妻精品一区二区在线 | 亚洲男人在线天堂 | 99有精品 | 青青草视频免费播放 | 99久久久久久久久久 | 日韩午夜片 | a级片在线视频 | 国产女人毛片 | 色av中文字幕 | 国产女人呻吟高潮抽搐声 | 私拍在线 | 一级特黄a | 欧美日本免费 | 日韩久久一区二区三区 | 成人在线免费电影 | 日韩欧美偷拍 | www.日本黄| 第一区免费在线观看 | 人妻互换一区二区激情偷拍 | 欧美少妇xx| 深夜国产在线 | 91免费高清在线观看 | 神马午夜久久 | 非洲黑人狂躁日本妞 | 小镇姑娘1979版 | 亚洲精品无码久久久 | 成人福利在线视频 | 日韩免费看片 | 超碰在线97观看 | 91伦理视频 | 欧美一区二区区 | 日韩精品偷拍 | 午夜福利三级理论电影 | 欧美日韩观看 | 久久精品国产亚洲av高清色欲 | 男女一进一出视频 | 午夜色婷婷 | 啪啪av网 | 国产黄色www| 日日射影院| 韩国三级hd中文字幕 | 天天操天天操天天操天天操 | youjizzxxx69 | 最新黄色网页 | 成人做受视频试看60秒 | 韩国三级hd两男一女 | 国产中文在线观看 | 无套内谢的新婚少妇国语播放 | 国产一区二区三区免费看 | 人人爽人人| 久久久无码人妻精品一区 | 国产精品污视频 | 在线国产日韩 | 一级日韩一级欧美 | 69精品久久久久久 | 国产破处在线 | 国产精品久久久久久久久久妞妞 | 舒淇裸体午夜理伦 | 国产麻豆剧传媒精品国产 | 午夜www| 欧美日韩高清一区 | 日本xxxx高清 | 亚洲一级无毛 | 欧日韩视频| 一级看片| 久久系列| 黄色一节片 | 亚洲午夜精品久久久久久app | 91视频在线免费观看 | 久草视频福利在线 |