c语言不会改错误 求

return getmedicineidexbyno; 说错误是未定义标识符

看看是不是变量名拼写错误。你发下完整代码看看

return getmedicineidexbyno()吧,看名称后面是个函数啊

这个报错是因为:getmedicineidexbyno这个变量未定义吧,你把全的代码贴出来看一下?

#include #include #include #define FILE_med "medicine.txt" void promptaddmedicine() { char num[10]; char name[20]; double price; unsigned short getmedicineidexbyno; int stock; char function[100]; int addcount; printf("\n请输入要增加的药品记录数量(大于0的整数):"); scanf("%d", &addcount); //TODO: 容错,输入的不是整数或者不在范围 for (int i = 1; i <= addcount; i++) { printf("\n请输入要增加的第%d种药品编号(不重复):", i); scanf("%s", num); if (getmedicineidexbyno(num) >= 0) { printf("药品编号与已有药品重复!\n"); continue; //TODO: 现在是跳过,可以选择重新让用户输入 } printf("\n请输入名称、价格(浮点数)、库存(整数)、功效(不带空格),空格隔开\n"); scanf("%s%lf%d%s", name, &price, &stock, function); addmedicine(num, name, price, stock, function); printf("完成第%d种药品录入,当前总共%d类。\r\n", i, allmedicinescount); } }

#include #include #include #define FILE_med "medicine.txt" void promptaddmedicine() { char num[10]; char name[20]; double price; unsigned short getmedicineidexbyno; int stock; char function[100]; int addcount; printf("\n请输入要增加的药品记录数量(大于0的整数):"); scanf("%d", &addcount); //TODO: 容错,输入的不是整数或者不在范围 for (int i = 1; i <= addcount; i++) { printf("\n请输入要增加的第%d种药品编号(不重复):", i); scanf("%s", num); if (getmedicineidexbyno(num) >= 0) { printf("药品编号与已有药品重复!\n"); continue; //TODO: 现在是跳过,可以选择重新让用户输入 } printf("\n请输入名称、价格(浮点数)、库存(整数)、功效(不带空格),空格隔开\n"); scanf("%s%lf%d%s", name, &price, &stock, function); addmedicine(num, name, price, stock, function); printf("完成第%d种药品录入,当前总共%d类。\r\n", i, allmedicinescount); } }

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632