問題:輸入乙個數字n,接下來輸入n個字串,要求無冗餘地儲存字串
分析:參考到無冗餘地字串輸入(使用動態分配。本題還參考了這個鏈結的內容:
**1:
#include
#include
int main()
{char **p;
int ns,i;
scanf("%d",&ns);
p=(char **)malloc(sizeof(char*));
for(i=0; i執行結果:
修改後(我覺得這樣才能算真正的無冗餘)**2:
#include
#include
int main()
{char **p,ch;
int ns,i,j;
scanf("%d",&ns);
p=(char **)malloc(sizeof(char*));
ch=getchar(); //要把輸入3後的'\n'先讀出來,不然第一次讀到的ch是'\n',在後面儲存字串時會有影響
for(i=0; i執行結果:
至此,應該就是「無冗餘了」···
無冗餘輸入字串 字串陣列 字串
問題 無冗餘 輸入乙個字串 分析 無冗餘 是指儲存的空間不能有冗餘的,比如,要存的陣列長度是10 加上 0 是11 不可以定義陣列為char str 20 這樣還會有8個位元組 還是9個位元組?的空間沒被用,就算是冗餘,因此不能事先分配乙個足夠大的空間,也就不好用陣列實現,然後應該用指標實現 參考的...
字串,字串陣列,字串指標!!
字串 字元陣列實際上是一系列字元的集合,也就是 字串 string 字串陣列 在c語言中,沒有專門的字串變數,沒有string型別,通常就用乙個字元陣列來存放乙個字串。c語言規定,可以將字串直接賦值給字元陣列 在c語言中,字串總是以 0 作為串的結束符。上面的兩個字串,編譯器已經在末尾自動新增了 0...
字串和字串陣列
字串陣列 include int main int argc,const char ar printf name1 s n name1 name1 zhangsan 部分初始化中,沒有被初始化的元素預設是0,0 對應的ascii值是 0 char name2 9 printf name2 s n n...