Compile Error(编译出错)
ljudger/run/c736722baddd44cE933la553fdbldlf9/main.cpp: In function 'float h(int,float):
judger/run/c736722baddd4ACE93Bla553fdb7dlf9/main.cpp:10:1:error: control reaches end of non-void
function I-WerrOI-retuHVPe
10I0
√I
Ljudger/run/c736722baddd44619331a553fdb7dlf9/main.app: In function'int main()':
Ijudger/run/c736722baddd44cf9331a553fdb7dlf9/main.cpp:14:6: warning: ignoring return value of int
Scanf(const chartdeclared with attribute warn unused result I-Wunused-result]
14scanf(zdn,&X
1NN-
cclplus: some warnings beingneatedasenHOHS
程序在codeblocks上没有问题,在超星系统中却一直说scanf有问题,请问是怎么回事
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
恐怖如斯恐怖如斯啊 2024-12-01 18:47关注以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
从你给出的错误信息来看,问题可能出在以下几个方面:
- 函数返回类型与实现不匹配:错误信息中提到“control reaches end of non-void function”,这意味着函数在没有返回任何值的情况下到达了其末尾。如果你在函数中有返回值声明(例如
int类型),你需要确保在函数结束前返回一个值。对于非void函数,必须返回预期的类型的值。如果你的函数没有return语句或return的值类型不匹配,编译器会报错。 - scanf警告:错误信息中提到 "ignoring return value of int scanf",这表示在调用
scanf函数时没有处理其返回值。在调用scanf之后最好检查其返回值以确保成功读取输入。scanf返回成功读取的参数数量,如果不成功读取预期数量的参数,你应该处理这种情况。忽略scanf的返回值可能会导致不可预测的行为。例如,你可能预期输入一个整数和一个浮点数,但如果用户只输入了一个整数而没有输入浮点数,你的程序可能会继续执行,尽管它没有正确读取预期的输入。 - 代码格式问题:你的代码片段似乎包含了一些非标准的字符和格式问题(例如,“√I”,“1NN-”等),这可能是复制粘贴时引入的错误。请检查原始代码是否包含这些字符,并删除它们以确保代码的正确性。此外,确保代码格式正确,特别是括号和分号的使用。
为了解决这个问题,你可以检查以下几点:
- 确保每个非
void函数都正确地返回了值。 - 在调用
scanf后检查其返回值以确保正确读取输入。 - 检查代码中的格式问题和特殊字符,并删除它们以确保代码的清晰度。
由于你提供的错误信息不够详细且代码中可能存在问题(例如未完整展示的函数或可能的拼写错误),解决这些问题的具体步骤可能需要根据你的完整代码进行调整。如果可以提供更详细的代码片段或上下文信息,我可以提供更具体的帮助。
解决 无用评论 打赏 举报- 函数返回类型与实现不匹配:错误信息中提到“control reaches end of non-void function”,这意味着函数在没有返回任何值的情况下到达了其末尾。如果你在函数中有返回值声明(例如