首页 > 解决方案 > 需要解释使用 c 完成的数学计算

问题描述

我在 c 上找到了以下代码

 #include<stdio.h> 
 int main(){
     int a;
     a=015 + 0x71 +5;
     printf("%d",a);
     return 0;
     }

当我编译它时,它给出了 131 作为答案。但我不知道它是如何发生的

标签: c

解决方案


在 C 中,以0八进制(以 8 为基数)开头的数字,0x以十六进制(以 16 为基数)开头的数字。

015 + 0x71 + 5是 15 8 + 71 16 + 5 = (1•8 + 5) + (7•16 + 1) + 5 = 13 + 113 + 5 = 131。


推荐阅读