有人可以发现我的代码中的错误吗?我不知道我错过了什么,我搞砸了什么
Can someone spot the errors in my code? I don't know what part am I missing and what I messed up
我想要的示例输出:
chocolate bar .00
skittles .20
marshmellows .00
candy-cane [=10=].90
我得到的输出:
░"@ .00
░"@ .20
░"@ .00
░"@ [=11=].90
我做的代码:
#include <stdio.h>
void ShowMenu();
int main()
{
int i, j;
float price[4][1]= {1,1.2,5,0.9};
char snack[4][20];
ShowMenu(price, i, j, snack);
return 0;
}
void ShowMenu(float price[4][1], int i, int j, char snack[4][20])
{
for (i=0;i<4;i++)
for (j=0;j<1;j++)
{
if(i==0)
snack[0][20]=="chocolate bar" ;
else if(i==1)
snack[1][20]=="skittles" ;
else if(i==2)
snack[2][20]=="marshmellows" ;
else if(i==3)
snack[3][20]=="candy-cane" ;
printf("%s RM%.2f\n", snack, price[i][j]);
}
}
- 您的函数原型必须与您的定义*完全相同!!!
- 很多变量和参数的用途很难理解。我已经删除了所有不需要的东西
void ShowMenu(float price[], char *snack[], int nitems);
int main(void)
{
float price[4] = {1,1.2,5,0.9};
char *snack[20] = {"chocolate bar", "skittles", "marshmellows", "candy-cane"};
ShowMenu(price, snack, 4);
return 0;
}
void ShowMenu(float price[], char *snack[], int nitems)
{
for (int i = 0; i < nitems; i++)
{
printf("%s\tRM%.2f\n", snack[i], price[i]);
}
}
我想要的示例输出:
chocolate bar .00
skittles .20
marshmellows .00
candy-cane [=10=].90
我得到的输出:
░"@ .00
░"@ .20
░"@ .00
░"@ [=11=].90
我做的代码:
#include <stdio.h>
void ShowMenu();
int main()
{
int i, j;
float price[4][1]= {1,1.2,5,0.9};
char snack[4][20];
ShowMenu(price, i, j, snack);
return 0;
}
void ShowMenu(float price[4][1], int i, int j, char snack[4][20])
{
for (i=0;i<4;i++)
for (j=0;j<1;j++)
{
if(i==0)
snack[0][20]=="chocolate bar" ;
else if(i==1)
snack[1][20]=="skittles" ;
else if(i==2)
snack[2][20]=="marshmellows" ;
else if(i==3)
snack[3][20]=="candy-cane" ;
printf("%s RM%.2f\n", snack, price[i][j]);
}
}
- 您的函数原型必须与您的定义*完全相同!!!
- 很多变量和参数的用途很难理解。我已经删除了所有不需要的东西
void ShowMenu(float price[], char *snack[], int nitems);
int main(void)
{
float price[4] = {1,1.2,5,0.9};
char *snack[20] = {"chocolate bar", "skittles", "marshmellows", "candy-cane"};
ShowMenu(price, snack, 4);
return 0;
}
void ShowMenu(float price[], char *snack[], int nitems)
{
for (int i = 0; i < nitems; i++)
{
printf("%s\tRM%.2f\n", snack[i], price[i]);
}
}