名說明a二維陣列名是乙個二級指標,即a[0]的位址
a[0]
一級指標,即a[0][0]的位址
a+i第i行的位址
*(a+i)
第i行首元素的位址,等價於a[i]
**(a+i)
第i行首元素的值
指標這塊內容確實比較難理解,我pta上的大多數題目都是用陣列的操作思維完成的,現在通過部落格重新過了一遍書本的內容,發現指標在一些方面確實有它獨特的優勢,一定要好好學。
**量大約394行。
輸入資料
輸出資料
說明4換行blue換行yellow換行red換行green
6正常資料
3換行ccc換行ccc換行ccc
3有重複資料時,程式仍正常00
僅輸入0時,輸出max的初值-10
輸入負數時,輸出max的初值
11換行a換行a換行a換行a換行a換行a換行a換行a換行a換行a換行aa
2超過10組資料且最長資料在最後,程式的結果雖然正確,但vs有溢位報錯
2換行g換行jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
無程式炸了,第二組資料溢位,vs報錯a0
程式炸了,通過設printf顯示輸入的a被轉換成了-858993460,使程式輸出max的初值
main函式
設i、k用於迴圈,定義poem陣列存放詩,定義end陣列存放尾字
for i = 0 to i < 4
輸入每行的資料
將倒數第二個有意義字元放入end陣列中
將倒數第乙個有意義字元放入end陣列中
end for
end[8] = 0;
輸出end陣列
輸入資料
輸出資料
說明悠悠田園風\n然而心難平\n蘭花輕湧浪\n蘭香愈幽靜
風平浪靜
正常資料
悠悠田園風\n然而心難平\n蘭花輕湧浪\n蘭香
風平浪香
每行長短不一,程式正常執行
悠悠田園風\n然而心難平\n蘭花輕湧浪
風燙平浪
缺一句的資料,由於第二行資料是換行,因此程式在生成第二個資料時會以亂碼處理
main函式
定義i、j用於迴圈,定義len表示字串長度,定義woerdlen表示各個單詞長度
定義flagfirst用於判斷是否為句首,定義str陣列用於儲存字串
輸入字串
計算字串長度並處理
for i = len to 0
if 發現單詞
記錄單詞長度
else if 乙個單詞記錄完畢
if 句尾第乙個詞
flagfirst為0
else
輸出空格
end if
輸出單詞
end for
單詞長度清零
end if
end for
if flagfirst為0 //句首為空格
if 單詞長度大於0
輸出空格
輸出單詞
end if
else //句首不為空格
if 單詞長度大於0
輸出單詞
輸入資料
輸出資料
說明hello world here i
i here world hello
中有多個空格,正常輸出
hello world here i
i here world hello
句首有多個空格,正常輸出
hello world here i
i here world hello
句尾有多個空格,正常輸出aa
最小詞且前有空格,正常輸出
aaaa
一詞且後有空格,正常輸出
蘇卡 不列
不列 蘇卡
有漢字,正常輸出
無全空格,無輸出換行無
直接退出程式
C部落格作業05 指標
展示關於 指標題目集 分數截圖。每個知識點具體展開介紹。包括指標如何指向字串 字串相關函式及函式 原型的理解 字串相關函式用法 擴充套件課堂未介紹內容 具體格式是什麼,注意事項。為什麼要動態記憶體分配,堆區和棧區區別。動態記憶體分配相關函式及用法。舉例為多個字串做動態記憶體要如何分配。多個字串用二維...
C部落格作業05 指標
格式 datatype name value 定義格式 int p 定義,定義時必須帶 float p1 a char p2 c p1 b p2 d 賦值,在定義的同時賦值需要帶,單獨賦值時不能帶,因為p代表指標變數的值,即位址。p代表指標指標變數指向的變數的值。乙個函式在編譯時被分派乙個入口位址,...
C部落格作業05 指標
1.指標做迴圈變數做法 基本做法如下 int a 10 int p p a 指標指向a陣列的首位址 fgets a,10,stdin for p a p 0 p n p 2.字元指標如何表示字串 基本做法如下 char str abc char p for p str p 0 p n p 3.動態記...