用malloc來實(shí)現(xiàn)因?yàn)閏的數(shù)組范圍是在編譯時(shí)就被分配空間的。所以要想像你那么做。就只能動(dòng)態(tài)的分配內(nèi)存。我給你了分配和釋放的模板。你自己加賦值語句就可以了。雖然p是指針。但是用法上基本可以當(dāng)數(shù)組來用。有問題在追加吧。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),元江縣企業(yè)網(wǎng)站建設(shè),元江縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,元江縣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,元江縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
要滿足你所說的用戶輸入數(shù)組大小的要求,就要用動(dòng)態(tài)數(shù)組。
在C語言里面對(duì)于數(shù)組的定義是不能通過變量來確定數(shù)組的大小的。如果一定要通過從外面輸入一個(gè)數(shù)來確定大小,只能通過動(dòng)態(tài)分配的形式。
舉報(bào)| 評(píng)論 0 1 不可以,數(shù)組在定義的時(shí)候必須先給定大小。
定義動(dòng)態(tài)數(shù)組,例如:include stdio.h include stdlib.h int len;char *str;printf(輸入數(shù)組的長度:);scanf(%d,&len);str=(char*)malloc(len*sizeof(char));為str分配分配len個(gè)字符大小的空間。
1、使用庫函數(shù)strlen()。strlen聲明在string.h中,原型為int strlen(char *str);功能為求str的長度,并返回。對(duì)于字符串str, 可以用代碼求長度。當(dāng)str[len]為0時(shí),退出循環(huán),退出后的len值就是str的長度。
2、cout只能用于C++編譯,在VC0中,cout不支持64位長整型。
3、問題一:關(guān)鍵在輸入字符和字符串要避開回車及空格分隔符。這里可以用getchar解決。問題二:就是讓你函數(shù)調(diào)用。問題三:依然是函數(shù)調(diào)用,但需要函數(shù)1返回值或傳遞地址。
4、各種無符號(hào)類型量所占的內(nèi)存空間字節(jié)數(shù)與相應(yīng)的有符號(hào)類型量相同。但由于省去了符號(hào)位,故不能表示負(fù)數(shù)。下表列出了Turbo C中各類整型量所分配的內(nèi)存字節(jié)數(shù)及數(shù)的表示范圍。
strlen函數(shù)的原理你都搞錯(cuò)了,其原型應(yīng)該是這樣的:int strlen(char );它接受的是一個(gè)char*類型的參數(shù),真不曉得你的這個(gè)是怎么傳遞進(jìn)去的。
strlen()只是統(tǒng)計(jì)字符串的長度,統(tǒng)計(jì)到\0結(jié)束,但不包括\0,這個(gè)與sizeof()不一樣。
函數(shù)定義中的參數(shù)不應(yīng)該是char, 而應(yīng)該是char 即int mystrlen(char * c)聲明和定義都改成上面的就可以了。