如何將輸入的數個字串存入指標陣列中? - 藍色小舖
文章推薦指數: 80 %
我(初學者)想將輸入的字串分別存入陣列中, 但是產生的結果不正確。
請各位大大幫忙... 以下是小弟寫的一小段程式 int main(void) { char str[14];
台灣最大程式設計社群網站
∣免費加入會員∣登入
∣回首頁∣
您好
線上人數
1095
會員總數:246707
討論主題:190127
討論區
程式下載/上傳
科技新聞
專欄文章
會員中心
加值服務
外包接案
求職求才
登入
登出
歡迎您免費加入會員
討論區選單
開發工具
行動裝置開發
資料庫
多媒體/網管
綜合
文章區
討論區列表>>C/C++>>如何將輸入的數個字串存入指標陣列中?
[]
[我要回覆]
1
如何將輸入的數個字串存入指標陣列中?
價值:40QP 點閱數:18857回應數:7
樓主
cary
0
1
24
3
發送站內信
各位大大好...我(初學者)想將輸入的字串分別存入陣列中,但是產生的結果不正確。
請各位大大幫忙...以下是小弟寫的一小段程式intmain(void){ charstr[14]; inti=0; char*pStr[14]; for(i=0;i<3;i++)/*自行輸入字串迴圈次數*/ { scanf("%s",&str); *(pStr+i)=str; } for(i=0;i<3;i++)/*列出剛剛輸入字串的結果*/ { printf("String[%d]=%s\n",i,*(pStr+i)); } system("PAUSE"); return0;}這段程式假如我輸入字串分別為:str1;str2;str3結果最後列印出來的結果為:String[0]=str3String[1]=str3String[2]=str3為何無法正確取得其中的值...我想要的是:String[0]=str1String[1]=str2String[2]=str3請求各位大大幫忙解答...小弟感激不敬
搜尋相關Tags的文章:
[C語言],[字串存取],
本篇文章發表於2006-11-2411:34
1樓
回應
Sleepyhead
原因是三次輸入共用了同一個buffer(變數str),而*(pStr+i)=str;只會拷貝輸入字串buffer的指標而不是內容,所以最後三個字串指標都指到同一個buffer了。
修改如下,請參考:
intmain(void)
{
char*str;
inti=0;
char*pStr[14];
for(i=0;i<3;i++)/*自行輸入字串迴圈次數*/
{
str=newchar[14];
scanf("%s",str);
*(pStr+i)=str;
}
for(i=0;i<3;i++)/*列出剛剛輸入字串的結果*/
{
printf("String[%d]=%s\n",i,*(pStr+i));
}
system("PAUSE");
return0;
}
本篇文章回覆於2006-11-2412:05
==簽名檔==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應
cary
謝謝Sleepyhead大大但是我加入str=newchar[14];編譯程式會錯(環境為Dev-C++使用C語言撰寫的):`new'undeclared(firstuseinthisfunction)===>語法錯誤訊息(Eachundeclaredidentifierisreportedonlyonceforeachfunctionitappearsin.)syntaxerrorbefore"char"是否哪裡需要修正的...再次麻煩各位大大協助...謝謝.
本篇文章回覆於2006-11-2413:23
==簽名檔==
--未登入的會員無法查看對方簽名檔--
3樓
回應
Sleepyhead
如果寫法不是C++的話,請改str=newchar[14];為str=(char*)malloc(14*sizeof(char));
本篇文章回覆於2006-11-2413:29
==簽名檔==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應
cary
感謝"Sleepyhead"大大的指導教學!~~~使用動態記憶體配置感謝...^^
本篇文章回覆於2006-11-2414:11
==簽名檔==
--未登入的會員無法查看對方簽名檔--
5樓
回應
wei
用2維陣列也是可以做成您要的效果~~可以參考看看~~
#include
延伸文章資訊
- 1第7 章陣列與指標
含結束字元), 有時候程式要讓使用者輸入一. 些資料, 接著要檢查使用者輸入的字元數,. 就會用到可計算字串長度的strlen() 函式。 呼叫此函式時需以字串(字元陣列) 為參數,.
- 2(C) 簡單搞懂指標(pointer)、指標陣列(pointers of array, int *foo ...
用到指標的時機,大多都是為了配置動態陣列才會用到,因此我們先來探討兩 ... 更難的部分就不贅述了,這邊提供線上轉換的網站,直接輸入程式碼就會將 ...
- 3【c】指向字串的指標陣列 - 程式人生
在C語言程式設計中,我們不能用scanf()函式來獲取指標陣列的值,但是 ... 輸入作為程式,我認為它是儲存輸入,但它正確地列印輸出作為給定的輸入。
- 4[C語言]指標、陣列與結構 - HackMD
其中很常被應用的,就是 指標(pointer) 、 陣列(Array) 、 結構(struct) ... 指標本身是一個物件,指向任何一個已存在物件,可以被指定或拷貝. 指標宣告時,就要定義是 ...
- 5如何將輸入的數個字串存入指標陣列中? - 藍色小舖
我(初學者)想將輸入的字串分別存入陣列中, 但是產生的結果不正確。請各位大大幫忙... 以下是小弟寫的一小段程式 int main(void) { char str[14];