

我對于這個編程題寫的一個代碼,大體思路是把a的字串復制到b中,求出前導星號的個數。
再利用回圈將b中的字符賦給a,運行之后顯示b沒有初始化。查書之后沒有找到。
備注:環境是Microsoft Visual C++ 2010 Express,頭檔案只有stdio.h
感謝
uj5u.com熱心網友回復:
把a字串復制到b中,需要先給b分配一段記憶體,但你的代碼里沒有分配記憶體的陳述句。uj5u.com熱心網友回復:
字符陣列和字符指標是不同的,你要動態分配一個字串長度+1的字符陣列來操作。uj5u.com熱心網友回復:
簡單一點:void fun(char *a)
{
char *p = a;
while(*p == '*') p++;
while (*p) *a++ = *p++;
while (a < p) *a++ = '*';
}
uj5u.com熱心網友回復:
這個簡潔,這種從后向前移動不需要另一個陣列。
uj5u.com熱心網友回復:
頭檔案里面沒有stdlib.h 沒有辦法動態分配記憶體。是不是就只能用那個簡單的方法了?
uj5u.com熱心網友回復:
如果確實不能分配記憶體,那么3樓可能是最合適的答案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/27551.html
標籤:基礎類
