我想創建一個結構,並從鍵盤輸入他們的元素並打印它們,但我似乎沒有得到它的權利。我得到了一堆錯誤,我真的不知道如何處理&我甚至設法打開stdio.h文件莫名其妙。對白癡代碼抱歉。業餘C和結構
我懷疑A(I = 0;我< 06分,我++)循環可能有必要在這裏,但我不明白爲什麼這應該是這樣的,如果我要的是進入結構的成員...
#include <stdio.h>
typedef struct data {
int DD[2];
int MM[2];
int GGG[3];
int RR[2];
int BBB[3];
int K[1];
} Data;
Data *p;
main()
{
printf("Enter DD");
scanf(p->DD);
printf("Enter MM");
scanf(p->MM);
printf("Enter GGG");
scanf(p->GGG);
printf("Enter RR");
scanf(p->RR);
printf("Enter BBB");
scanf(p->BBB);
printf("Enter K");
scanf(p->K);
printf("%d%d%d%d%d%d", data.DD, data.MM, data.GGG, data.RR, data.BBB, data.K);
}
你的錯誤是什麼?運行程序時的編譯或錯誤(運行時)?我可以建議如果你不確定函數的簽名,你應該參考在線[手冊頁](https://en.wikipedia.org/wiki/Man_page)?一個這樣的'scanf'手冊頁可以在這裏找到(https://linux.die.net/man/3/scanf)。 –
你不能只說'Data * p;'然後'scanf(p-> X)',因爲你沒有分配任何內存讓p指向。相反,創建一個不是指針的局部變量並使用它 - 這是您在printf中試圖執行的操作,但不是使用變量名,而是使用數據類型的名稱。 –
修復如[this](https://ideone.com/e17Dgw) – BLUEPIXY