-3
我得到一个错误,因为我需要把这个结构的返回值。如何获取用户输入的结构使用其他功能获取用户输入C99
struct Item enterItem(int sku)
{
char name;
printf(" SKU: %d", sku);
printf(" Name: "); scanf("%20[^\n]", &name);
clearKeyboard(); // Function call to remove'\n'
printf(" Price: ");
getDouble(); // Function call to get user input in double
printf(" Quantity: ");
getInt(); // Function call to get user input in int
printf("Minimum Qty: ");
getInt();
printf(" Is taxed: ");
getYesOrNo(); // Function call to get user input in bool > (Y)es or (N)o
}
请发表[最小,完整,可验证的示例](http://stackoverflow.com/help/mcve)。你在哪里存储读取的值?也是'char名字; scanf(“%20 [^ \ n]”,&name);'是不好的,因为您只能输入零字符字符串(加上终止空字符)。 – MikeCAT
您通常不应该按值传递/返回结构。传递指向它们的指针以避免复制 –
那么,为什么你不返回一个结构,因为你知道你需要?声明该结构类型的局部变量,根据需要填充它并返回它或更好地修改函数接受一个指向调用者提供的结构的指针。 – kaylum