c - Id 在 C 中返回 1 个退出状态,我找不到我的错误
问题描述
#include <stdio.h>
int wednesday(){
int discount;
printf("You are lucky on Wednesdays! You can get discount!\n");
printf("Is today wednesday? Yes = 1 No= 2\n");
scanf("%d", &discount);
return discount;
}
void cost(int wednesday){
int price;
int discount;
if(discount == 1){
price = price - 2;
}
else{
price = price;
}
}
void main(){
int discount;
welcome();
discount = wednesday();
cost(discount);
}
我也写了其他代码,但这部分不起作用我找不到我的错误。如果你能帮我找出我的错误,我会非常高兴。
解决方案
在main
您尝试调用welcome
不存在的函数时:
welcome();
删除welcome();
或定义上面某处的函数。这将解决您的链接器问题,但您的代码还有其他几个问题:
int discount;
if(discount == 1){
是有问题的。 discount
是未初始化的,所以它有一个不确定的值。我想你想要的是
if(wednesday == 1){
这是wednesday
您传递给的返回值cost
。
此外,price
也未初始化,所以
price = price - 2;
导致一个不确定的值。您应该初始化price
为某个初始值。
int price = 0; // probably not zero, but whatever the initial price should be
最后,删除
else{
price = price;
}
这是一个无操作,通过设置price
等于自身没有任何收获。
您还有一个无效的签名main
,请参阅C 的 main() 函数的有效签名是什么?
推荐阅读
- python - 在“string”中的 .str.contains 和“string”之间分析哪个更快
- amazon-web-services - AWS CDK s3 部署更改中间资产存储桶目录
- java - 为什么多行 Stacktraces 在 GCP 日志资源管理器中显示为单独的日志?
- mysql - 无法弄清楚如何修复这些 docker mysql 容器错误 [序列号 29689014 是未来!]
- flutter - 颤振 getx 初始路由延迟
- laravel - 我想创建,但我在排序删除 laravel 中出现唯一错误我想在模型中的函数 rule() 处验证
- reactjs - React 组件避免双重渲染
- excel - 识别列表中两个其他值之间的值
- python - 我是 python 新手,这个错误不断出现
- salesforce-marketing-cloud - 营销云中的 Ampscript - 如果值 LIKE