2401_88128769 2024-12-01 18:38 采纳率: 0%
浏览 9

程序在codeblocks上没有问题,在超星系统中却一直说scanf有问题,请问是怎么回事

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

  • 写回答

1条回答 默认 最新

  • 关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    从你给出的错误信息来看,问题可能出在以下几个方面:

    1. 函数返回类型与实现不匹配:错误信息中提到“control reaches end of non-void function”,这意味着函数在没有返回任何值的情况下到达了其末尾。如果你在函数中有返回值声明(例如 int 类型),你需要确保在函数结束前返回一个值。对于非 void 函数,必须返回预期的类型的值。如果你的函数没有 return 语句或 return 的值类型不匹配,编译器会报错。
    2. scanf警告:错误信息中提到 "ignoring return value of int scanf",这表示在调用 scanf 函数时没有处理其返回值。在调用 scanf 之后最好检查其返回值以确保成功读取输入。scanf 返回成功读取的参数数量,如果不成功读取预期数量的参数,你应该处理这种情况。忽略 scanf 的返回值可能会导致不可预测的行为。例如,你可能预期输入一个整数和一个浮点数,但如果用户只输入了一个整数而没有输入浮点数,你的程序可能会继续执行,尽管它没有正确读取预期的输入。
    3. 代码格式问题:你的代码片段似乎包含了一些非标准的字符和格式问题(例如,“√I”,“1NN-”等),这可能是复制粘贴时引入的错误。请检查原始代码是否包含这些字符,并删除它们以确保代码的正确性。此外,确保代码格式正确,特别是括号和分号的使用。

    为了解决这个问题,你可以检查以下几点:

    • 确保每个非 void 函数都正确地返回了值。
    • 在调用 scanf 后检查其返回值以确保正确读取输入。
    • 检查代码中的格式问题和特殊字符,并删除它们以确保代码的清晰度。

    由于你提供的错误信息不够详细且代码中可能存在问题(例如未完整展示的函数或可能的拼写错误),解决这些问题的具体步骤可能需要根据你的完整代码进行调整。如果可以提供更详细的代码片段或上下文信息,我可以提供更具体的帮助。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月1日