-
奇怪的是,我的實驗結果是,如果先初始化字串變數,下標就可以正常讀寫字串變數了。
varname1,name2:string[15];
i,s:integer;
beginread(name1);
name2:=' ';這裡,name2 初始化為 4 個空格。
s:=length(name1);
for i:=s downto 1 do name2[s-i+1]:=name1[i];
writeln(name2);
end.程式執行時,輸入 ABCD 並輸出 DCBA但是,如果輸入 ABCDEF,則只能輸出 fedc也就是說,程式只能“填充”初始化時開啟的空間長度。
但令人費解的是,如果你使用下標讀取 name2 字串變數的每一位,都會顯示:
for i:=1 to 6 do write(name2[i]);
如果是這種情況,您可以通過輸入 abcdef 輸出 fedcba。它表明 name2[1] 到 name2[6] 中有東西,但 name2 中只有 fedc。學習但無法理解!
-
1.program sdf; var a:string; squyci,j:longint; begin readln(a); while a<>'#&39; do begin s:
0; j:=0; for i:=1 to length(a) do if a[i] in [&39;0'..39;9'] then j:
j*10+ord(a[i])-ord('0') else begin s:=s+j; j:=0; end; s:
s+j; writeln(s); readln(a); end;結束其他人想要答案,立即給我發訊息 adfj。
-
我們什麼時候需要定義乙個陣列?
當您需要處理大量相同型別的資料時。
陣列是如何儲存的?
儲存到連續的記憶體空間。
這種儲存方式的優點是什麼?
它可以按順序、按順序處理。
這種儲存的缺點是什麼?
依靠資料的鄰接性按順序處理資料; 如果要插入或刪除陣列元素,則需要移動大量陣列元素以保持此鄰接關係。
5.字串運算及其功能的優點是什麼?
操作字串很簡單; 函式本來就是子程式,實現了一定的字串操作功能,不需要自己編寫這樣的子程式。