我正在为学校做一个项目,这是一直在警告我的警告.我的代码有什么问题?
fprintf(fp,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%d\n", Item[i]->ID, Item[i]->Date, Item[i]->Adress,
Item[i]->Street number, Item[i]->Postal Code,
Item[i]->City, Item[i]->Phone,Item[i]->Name,
Item[i]->Price);
Run Code Online (Sandbox Code Playgroud)
还有另一个警告:
警告:格式'%d'需要类型为'int'的参数,但参数10的类型为'char*'[-Wformat]
我不知道该怎么办
您的fprintf调用有8个格式说明符,但传递了9个其他参数来填充这些.
第8格式说明符是%d; 对应于此的参数是Item[i]->Name.警告告诉您这Item[i]->Name是一个字符串,因此不能(不应该)转换为有符号整数.
我认为Item[i]->Price有类型int; 然后,您需要%s在格式字符串中添加额外内容(在此之前的任何位置%d)或删除其中一个字符串参数.