簡體   English   中英

在二維數組中接受多個字符串?

[英]Accepting Multiple Strings in 2 dimensional array?

執行此操作時,循環直接跳到最后,並給我下面的輸出。

1.Generate Bill

2.Generate Bills of last 10 Purchase

Select Option:1

Enter Number of Groceries:3

Enter GroceryName:XYZ <Hit Enter>

Enter GroceryName:

Enter GroceryName:

你能建議我用c做一個更好的方法嗎? 我已經在堆棧溢出上嘗試過某些鏈接,但是它似乎對我不起作用。

void main()
{
    int iPrice[1000];
    char cGroceName[100][100];
    int iOption;
    int iGrocNum;

    printf("\n1.Generate Bill");
    printf("\n2.Generate Bills of last 10 Purchase");
    printf("\nSelect Option:");
    scanf_s("%d", &iOption);

    switch (iOption)
    {
    case 1:
        printf("\nEnter Number of Groceries:");
        scanf_s("%d",&iGrocNum);
        for (int i = 0; i <iGrocNum; i++)
        {  

            printf("\nEnter GroceryName:");
            scanf_s(" %s",cGroceName[i]);

        }
scanf_s(" %s",cGroceName[i]);

應該

scanf_s("%99s", cGroceName[i], sizeof cGroceName[i]);

因為scanf_s需要某些格式說明符的第三個參數,例如%s表示其相應參數的最大大小。

請參閱scanf_s文檔

暫無
暫無

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

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