我正在一个涉及结构的学校项目中,并且遇到以下问题:
我创建的结构最多包含50个产品。用户将为每个产品输入INT代码,FLOAT价格,INT数量和CHAR名称[256]。
我遇到的问题是scanf_s("%c", &product.name);
溢出“ \ n”。
以下是代码段:Lines 84 -> 88
我希望您了解我的问题,并且可以为我提供帮助。
您应该阅读:
scanf(“%s”,name);
scanf
有它的位置,但这不是读取用户输入的唯一方法,尤其是从stdin
...中读取一行时>
fgets(produse[contor].nume_produs, sizeof(produse[contor].nume_produs), stdin);
也将起作用。
[有关differences and use cases和fgets()的scanf()的一些信息
您应使用%s
扫描字符串。\0
将自动添加到字符串的末尾。