c - C中值分配的分段错误
问题描述
您好,我正在学习 C 并尝试编写代码来比较 3 个数字并告诉我哪个数字最大。
#include <stdio.h>
int max(int a, int b){
if(a > b){
return a;
}
return b;
}
int main()
{
int a, b, c;
printf("Please provide the first number --> ");
scanf("%d", &a);
printf("Please provide the seceond number --> ");
scanf("%d", &b);
printf("Please provide the third number --> ");
scanf("%d", &c);
int big = max(max(a, b), c);
printf("The biggest number is --> ");
printf(big);
printf("\n");
return 0;
}
我在一个名为 onlinegdb.com 的网站上写了它,但是在我输入 3 个数字后,我在尝试找出错误后出现分段错误错误,这表明将 max 的结果插入 big 似乎存在问题
解决方案
我认为这可能是由于这行代码
printf(big);
尝试使用:
printf("%d", big);
基本上你忘了放格式说明符。
推荐阅读
- sql - 连接后操作员太慢的地方
- python - 为什么在安装 eli5 时出现 EnvironmentNotWritableError
- javascript - 从 tinymce 发布数据时,它不使用 Codeigniter 存储数据库
- node.js - 在 Heroku 上 WaitForSelector 超时
- javascript - cloudflare js worker 允许国家列表并阻止其余国家
- mysql - 比较两个不同表中的两列值,并根据 24h 周期计算差异
- excel - 如何检查范围是否包含单词?
- android - 服务器响应失败
- sql - 我的 JOIN 操作中的语法错误是否有快速修复
- google-sheets - 如何将特定值更改为范围