『壹』 數據結構(c語言)中字元串的問題
空格串表示字元串裡面的元素是「空格」
空格是確確實實存在的字元 只是不能顯示的列印在屏幕上而已
在ASCII碼中空格對應的是32(十進制 十六進制是20h)與別的字元對待是相同的
而空串則是表示字元串為空 即"" 也就是字元串中不含任何字元 字元長度為0
一般用作對新定義的字元串進行初始化
他們的區別還是蠻大的 不過有一個概念叫空字元到比較容易混淆
空字元是『\0』他是確實存在的字元 在字元數組中表示字元串的結束
『貳』 數據結構C語言串聯接代碼怎麼解釋
很簡單,數組的0元素里保存是串的長度。兩個點前後的數值表示的是下標范圍。先復制S1,再復制S2。能夠把最簡單的一個演算法寫成這么復雜的一個樣子的,不愧是專家。其實這些東西都不難,但要想看懂專家寫的書,一定要提高甲骨文的閱讀能力。建議你找些國外的書參照一下
『叄』 數據結構(C語言)串問題
按這個程序的意思
1...s1[0]應該是從1到s1的長度,所以t[1..s1[0]]就代表一個字元串,t[1..s1[0]]=s1[1..s1[0]]; 是直接給字元串賦值。
但是在C程序裡面不能用這種簡略寫法。你看的書好象太不規范了。。。
1...s1[0]應該用for(i=1;i<=s1[0];i++)表示
而且似乎很少有「下標為0的位置存放串的長度」...
不知道是不是我孤陋寡聞...
『肆』 數據結構c語言串的問題
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
usingnamespacestd;
typedefstruct{
char*ch;
intlength;
}HString;
intStrLength(HString&T)
{
inti=0;
while(T.ch[i]!=0)
{i++;}
T.length=i;
returnT.length;
}
voidgetString(HString&T,intlen)
{
T.length=len;
T.ch=(char*)malloc(T.length+1);
inti;
for(i=0;i<T.length;i++)
cin>>T.ch[i];
T.ch[i]='