CS50x第一周half练习题中C语言代码行的作用解析请求
解析CS50x第一周"half"练习题中的函数声明行
你提到的这行代码:
float half(float bill, float tax, int tip);
就是讲座抽象部分讲的函数原型(函数声明),作用是提前给编译器传递关键信息:
- 这个函数名叫
half - 它会返回一个
float类型的浮点数结果 - 它需要接收三个参数:分别是
float类型的账单金额、float类型的税率、int类型的小费比例
为什么要写这个?因为你的main函数在代码前部,先调用了half,但函数的具体实现(就是后面那个未完成的float half(float bill, float tax, int tip)部分)在main之后。C语言编译器是从上到下逐行处理代码的,如果没有这个声明,编译器遇到main里的half调用时,会不知道这个函数的参数类型、返回值类型是什么,直接报错。这个声明相当于提前给编译器“打招呼”,让它知道存在这么一个符合规范的函数,后面会补上具体实现。
结合你的任务来看,这个声明已经框定了你要写的函数的接口:必须按这个参数类型接收输入,最后返回计算好的人均金额(浮点数类型),你只需要在// TODO下面补全函数内部的计算逻辑就行。
内容的提问来源于stack exchange,提问作者codedbyjosh
相关产品推荐
相关产品推荐

