gpt4 book ai didi

c - 接受二维数组中的多个字符串?

转载 作者:行者123 更新时间:2023-11-30 16:46:35 25 4
gpt4 key购买 nike

执行此操作时,循环直接跳到末尾并给出以下输出。

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]);

as scanf_s 需要某些格式说明符的第三个参数,例如 %s 表示其相应参数的最大大小。

参见scanf_s documentation .

关于c - 接受二维数组中的多个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43662069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com