English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

寫一程式利用 malloc 配置 5 個佔 9 bytes 的 char 指標
之後把這 5 個的內容填入你附近同學的學號, 再使用 scanf
把要找的數字 (1-5) 由 stdin 讀入, 後印出相對應的學號.
但是不能用陣列的語法來寫出...?麻煩各位了!

2006-12-02 09:49:02 · 3 個解答 · 發問者 ☆Kira ★ 2 in 電腦與網際網路 程式設計

只要有出現[]這個皆為陣列~老師不會接受

2006-12-02 17:34:39 · update #1

strcpy(DATA,"A1234567");//複製學號字串
在這行下面要在加我需要的學號進去嗎!?
但這個程式他不會幫我對應到數字啊!

2006-12-03 04:30:50 · update #2

例如: 我輸入5 就彙幫我找到 902506127
我輸入 0 就彙幫我對應到 902506108

2006-12-03 17:00:51 · update #3

3 個解答

#include "stdafx.h"
#include "malloc.h"
typedef struct abc
{char number[];};


void main()
{
abc *p[5];
int i;
for( i=0; i<5 ;i++ )
p[i]=(abc *)malloc(sizeof(abc));
for( i=0; i<5 ;i++ )
{
scanf("%s",p[i]->number);
}
printf("====================\n請輸入要找的同學學號");
scanf("%d",&i);
printf("%s\n",p[i-1]->number);

}

2006-12-02 17:16:27 · answer #1 · answered by 風之裕 2 · 0 0

呃…依照你提出來的問題,我是有寫出來,但是9個位元組,只能輸入8個字元,超過8個字元,程式就會當掉…
~(=.=||)~

2006-12-03 01:28:07 補充:
以下原始碼給你做參考…//Power by Microsoft Visual Studio 2005//可以使用 Dev-C++ 編譯此程式#include#include#include#define LENGTH 9//長度int main(int argc, char *argv[]){ //=====START=====// char *DATA;//建立指標 DATA=(char *)malloc(LENGTH);//配置記憶體 strcpy(DATA,"A1234567");//複製學號字串 //學號 A1234567 printf("%s\n",DATA);//顯示字串 free(DATA);//釋放記憶體 //=====END=====// system("PAUSE"); return 0;}

2006-12-03 17:57:21 補充:
對輸入數字的情形,請你舉個例子,我看不懂你說的對應數字。

2006-12-04 22:46:22 補充:
輸入5 是指什麼?
輸入0 又是指什麼?

2006-12-02 20:28:07 · answer #2 · answered by Big_John-tw 7 · 0 0

那如果八個字元的程式呢?可否PO出來讓我參考一下!?且我有個問題~學號部分該怎麼處理!?

2006-12-04 23:16:48 補充:
輸入1-5個數~找出你所輸入的學號 例如當我一開始輸入五筆學號~之後再輸入1-5任一個數值 ~他就會幫我對應到剛剛我輸入的學號的其中一筆

2006-12-02 17:01:02 · answer #3 · answered by ☆Kira ★ 2 · 0 0

fedest.com, questions and answers