c - 需要解释使用 c 完成的数学计算
问题描述
我在 c 上找到了以下代码
#include<stdio.h>
int main(){
int a;
a=015 + 0x71 +5;
printf("%d",a);
return 0;
}
当我编译它时,它给出了 131 作为答案。但我不知道它是如何发生的
解决方案
在 C 中,以0
八进制(以 8 为基数)开头的数字,0x
以十六进制(以 16 为基数)开头的数字。
015 + 0x71 + 5
是 15 8 + 71 16 + 5 = (1•8 + 5) + (7•16 + 1) + 5 = 13 + 113 + 5 = 131。
推荐阅读
- python - 登录后的 Python Web-scrape 页面
- r - 将 docker 容器内的闪亮应用程序与 Linux 上的外部 mysql 数据库连接起来
- android - 没有 android studio gradle 项目
- r - 从 spatstat 中的模拟 mppm 获取值
- mysql - 发出 1 次警报后,警报状态没有改变 - Grafana
- rest - 基于令牌的身份验证 (TBA) - OAuth - Netsuite - 其他 Web 服务 - 登录尝试无效
- java - 使用 execute 方法创建了一个 Task 接口。如何让它动态接受参数 - JAVA
- python - Python中的复杂枢轴
- java - 有没有办法使用 Java 在 Amazon EMR 集群上运行命令?
- amazon-web-services - AWS:描述图像不输出任何内容