所以我的一個朋友發給我這個,但不幸的是我的C技能有點生疏,所以我可能會錯過一些簡單的東西。第二個fscanf
命令中存在該問題。fscanf命令令牌之前的預期主表達式
錯誤是[Error] expected primary-expression before '[' token
。這可能是一些容易遺漏的東西,但我在發佈之前嘗試了一下。任何幫助表示讚賞!
struct materials
{
char name,product;
int code,code1,number_of_parts,quantity1,number_of_parts1,quantity2;
};
typedef struct materials mater;
int main()
{
int result(int x) ;
int number1,j,i,result1,number2,k,z;
FILE *fp;
materials* listOfMaterials;
fp = fopen("datain.txt", "r");
if (fp!=NULL)
{
fscanf(fp, "%d\n",&number1);
listOfMaterials = (mater*)malloc(number1 * sizeof(mater));
for(j=1; j<number1; j++) {
fscanf (fp, "%d %d %d %s\n", &mater[j].code, &mater[j].quantity1, &mater[j].number_of_parts, mater[j].name);
if (mater[j].quantity1 != 0)
{
mater[j].code1=(int *)malloc(sizeof(int)*mater[j].quantity1);
mater[j].number_of_parts1=(int *)malloc(sizeof(int) * mater[j].quantity1);
fscanf (fp,"%d %d\n",&mater[j].code1,&mater[j].number_of_parts1);
}
}
請整理代碼的縮進 - 使其可讀。 – 2014-12-07 09:19:14
[如何使用scanf \ fscanf讀取一行並解析爲變量?](http://stackoverflow.com/questions/5204625/how-to-use-scanf-fscanf-to-read-a-線和解析到變量) – jww 2014-12-07 09:23:11
對不起,我剛剛在這裏註冊。我能做些什麼來使其更具可讀性? – ahcomm 2014-12-07 09:25:28