簡體   English   中英

有人能發現我代碼中的錯誤嗎? 我不知道我錯過了什么部分,我搞砸了什么

[英]Can someone spot the errors in my code? I don't know what part am I missing and what I messed up

我想要的示例輸出:

chocolate bar   $1.00
skittles        $1.20
marshmellows    $5.00
candy-cane      $0.90

我得到的輸出:

░"@  $1.00
░"@  $1.20
░"@  $5.00
░"@  $0.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]);
            }
}
  1. 您的函數原型必須與您的定義完全相同!!!
  2. 許多變量和參數的目的是什么很難。 我已經剝離了所有不需要的東西
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]);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM