對於我的C作業,我需要輸入捐贈金額,輸入請求和完成請求。基本上,我有一個名爲donType [i]的數組,其範圍從0到4. donType [0]表示蛋白質請求,donType [1]表示乳製品請求,dontype [2]表示糧食請求,等等,你會看到我的代碼。如果任何捐贈類型的庫存爲0(意味着沒有捐贈添加到數組的值),那麼我希望它打印「類型捐贈無法實現」,其中類型代表食物類型(蛋白質,乳製品,穀物等) )。如果我將所有庫存設置爲0,它將只打印「蛋白質請求無法滿足」,因爲它應該打印所有請求,因爲無法完成。下面是我的代碼的一部分:如何掃描所有「else if」條件 - C
if (donType[0] == 0)
printf("Protein requests cannot be fulfilled.\n");
else if (donType[1] == 0)
printf("Dairy requests cannot be fulfilled.\n");
else if(donType[2] == 0)
printf("Grain requests cannot be fulfilled.\n");
else if (donType[3] == 0)
printf("Vegetable requests cannot be fulfilled.\n");
else if (donType[4] == 0)
printf("Fruit requests cannot be fulfilled.\n");
所以它停止其掃描後donType [0]等於0。我怎樣才能讓我的代碼繼續if語句通過別的掃描?請記住,我是新手,所以我不需要任何複雜的答案。謝謝你的幫助!
你可能想閱讀關於if語句和它的工作原理。不清楚你的問題是什麼。看[問]並提供[mcve]。 – Olaf
取出所有'else' –
'if'主體的大括號阻止代碼編譯(第一個'else'沒有'if'匹配)。你可能應該使用循環而不是寫出幾乎相同的代碼5次。你可以有一個捐贈類型名稱數組:'char * donTypeName [] = {「Protein」,「Dairy」,「Grain」,「Vegetable」,「Fruit」};'和'for(int i = 0; i (if(donType [i] == 0)printf(「%s請求不能被滿足\ n」,donTypeName [i]); ''或大約。 –