1、C里面的字符串最后都是以數(shù)0(也就是 \0這個符號)來表示結(jié)尾的。計(jì)算字符串的長度的函數(shù)在頭文件string.h已經(jīng)提供了,也就是這個strlen(const char )。
10年積累的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有郊區(qū)免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
2、char [3][10],改為a[4][10];既然傳的是二維數(shù)組。就用二維數(shù)組做,strcpy交換 字符串否則用指針數(shù)組就做地址的交換。
3、p是int類型指針,指向數(shù)組a的第1個元素即一個一維的數(shù)組{1,2,3}首地址所以p[1]相當(dāng)于a[0][1]所以printf(%d\n,p[1]);輸出2 。
4、以下用冒泡法做字符串排序。最多50個鍵盤輸入字符串,可以改。字符串比較函數(shù)需要debug。
1、聲明一個字符串指針數(shù)組存放每個字符串的首地址,調(diào)用庫函數(shù)qusort按題目要求對字符串指針排序,不移動源字符串。關(guān)鍵是要設(shè)計(jì)一個好的比較函數(shù),精巧地解決“按長度、長度相等時按大小”排序的問題。
2、比如p,q指向的字符串分別是abc,def,那么不管你把p,q強(qiáng)制轉(zhuǎn)換成幾級指針,*(char **)p和*(char **)q得到的值都是字符a和d的ASCII碼值,而不是整個abc,def字符串。
3、// 因?yàn)槭轻槍har型的二維數(shù)組,也就是說你排序的時候是想將字符串排序。
直接借助冒泡排序,選擇排序即可進(jìn)行字符串的排序,但是需注意的是,字符串的比較需要借助strcmp函數(shù)完成,而字符串的復(fù)制需要借助strcpy函數(shù)完成。
不用字符串函數(shù)。本題的一個完整的c程序如下,程序在win-tc和Dev-c++下都調(diào)試通過。
問題比較多:在交換那里,不能直接用賦地址來給新串賦值,要給臨時串申請新同大小的空間,然后用strcpy來實(shí)現(xiàn)賦值完成交換。在錄入字符串時,誤用%s,應(yīng)用%c。
問題好多、真是新手、、、以下部分有邏輯錯誤,排序算法請參考冒泡排序或選擇排序;你只有一個for循環(huán)是不可能完成排序的。