何著有誤
typedef struct
{
char name[10];
double diameter;
int moons;
double orbit_time;
} planet_t;
void scan_planet(planet_t *pl)
{
ㄅ (*pl).name =\"jupiter\";
ㄆ(*pl).diameter=142800;
ㄇp1->moons=4;
ㄈp1->orbit_time=11.9;
}
void main()
{planet_t planet;
ㄉscan_planet(&planet);
}
以上ㄅㄆㄇㄈㄉ何著有誤?我感覺ㄅㄆㄇㄈ都沒錯..但是我不知道ㄉ對不對
2006-07-08 16:45:42 · 5 個解答 · 發問者 ? 5 in 電腦與網際網路 ➔ 程式設計
ㄅ: C 不能這樣設定字串!
那只能在宣告時用!
要改用 strcpy((*pl).name, "jupiter"); 來設定
2006-07-08 21:39:32 · answer #1 · answered by ? 7 · 0⤊ 0⤋
這種寫法這被子沒見過.也算開了眼界^^
2006-07-11 17:14:46 · answer #2 · answered by 買大 4 · 0⤊ 0⤋
ㄅ的寫法是char pointer assignment, 但因為(*pl).name並不是一個dynamic pointer, 而是一個fixed pointer指向(*pl)裡的array, 所以這樣assign在語法上本身就是錯誤的.
2006-07-09 09:16:43 · answer #3 · answered by ? 3 · 0⤊ 0⤋
像ㄅ那樣使用,編譯就不會過了
2006-07-09 07:40:04 · answer #4 · answered by Rody 5 · 0⤊ 0⤋
有個問題
如果像ㄅ一樣使用會造成什麼結果?
2006-07-09 05:05:12 · answer #5 · answered by ? 3 · 0⤊ 0⤋