求助 int num=030;求详细解释

问题描述

求助 int num=030;求详细解释
int num =030;
System.out.println(num);
为什么打印出来会是24呢??
求大神详细解释

解决方案

楼主可以试试两个极端;你这里写的是int num = 030;由于在30前写了0就被编译器当成了8进制数据,8进制数据30就是10进制的24。你可以试试将语句改成:int num = 080;看看你的系统编译会不会报错

解决方案二:
030表示的是八进制数~

解决方案三:
030是8进制的表示方式,转换成int十进制num就是24

解决方案四:
第一种可能:
以0开头的int数字 Java编译器默认为8进制解析

解决方案五:
不用解释,0x是16进制,0是8进制。
30 = 3 * 8 + 0 * 8 = 24。

解决方案六:
0开头的是8进制数。

解决方案七:
030表示的是八进制的

解决方案八:
数字以零开头,计算机会把它认为是八进制数

解决方案九:
你多加了个0 ,系统默认成8进制了

解决方案十:
那是八进制,0x30十六进制,为48。

时间: 2024-11-02 06:08:02

求助 int num=030;求详细解释的相关文章

c语言-C语言选择题求详细解释

问题描述 C语言选择题求详细解释 已知:int a[3][4],*p=a[0];p+=7; ,那么与*p的值相同的是 A*(a+7) B*(&a[0]+7) C*(a[0]+3)D*(&a[1][1]+7) ====参考答案是B,求大侠给出详细解释 解决方案 就是偏移七个位置 然后再取值 解决方案二: 和之前回答的问题一样还是 指针的地址理解. 关键在于理解 &a[0]=p 解决方案三: 哪里出的考题?B也是错的,应该是: *(&a[0][0]+7) 解决方案四: a其实是

指针-C语言求教应该选哪个答案呢?并求详细解释

问题描述 C语言求教应该选哪个答案呢?并求详细解释 void *fun()此说明的含义是: A)fun函数无返回值 B)fun函数的返回值可以是任意的数据类型 C)fun函数的返回值是无值型的指针类型 D)指针fun指向一个函数,该函数无返回值 求教应该选哪个答案呢?并求详细解释 解决方案 答案选择:C 代码的意思是:定义一个函数指针. 比如:定义一个指向函数的指针,该函数有一个整形参数并返回一个整型值 int(*fun)(int): 再比如原来函数是void func(void): 那么定义的

java-小白问题:JAVA自定义容器类时,一段构造方法不太看得懂,求详细解释

问题描述 小白问题:JAVA自定义容器类时,一段构造方法不太看得懂,求详细解释 我先解释一下题意,现在要设计一个容器类(intArray2),这个容器的本质就是一段数组(暂且只装int值),这个数组可以的索引可以根据使用者传入的数据多少而自动增长,而自动产生新数组覆盖以前的,那么我的疑问就是如下这个....为什么构造方法要像第二图里那么写,而不能照我想的第一张图里的写 我觉的应该如此写(编译通过,运行报错,失败): 正确的写法,为什么要这么写两个: 测试代码,实参传或不传,传什么值,都不影响结果

c语言-C语言===参考答案为A,求详细解释

问题描述 C语言===参考答案为A,求详细解释 已知int i=0,j=1,*p=&i,*q=&j;错误的语句是: A)i=*&q; B)p=&*&i; C)j=*p++; D)i=*&j; ===参考答案为A,求详细解释 解决方案 q是j的地址 i等于赋予了j的地址 解决方案二: &是取地址*是寻址(解引用)所以 q 指针 所指内存中存的是j的地址 也就是*q=0x0003(j的地址) 指针*q又有自己的地址q==0x0001 理解了上述就可以明白

c语言-C语言结共用体问题求教并求详细解释

问题描述 C语言结共用体问题求教并求详细解释 union dt{int a;char b;double c;}data;以下叙述中错误的是 A)data的每个成员起始地址都相同 B)变量data所占内存字节数与成员c所占字节数相等 C)程序段:data.a=5;printf("%f",data.c);输出结果为5.000000 D)data可以作为函数的实参 ====求教应该选哪个答案?并求详细解释 解决方案 C 因为所有浮点数类型在内存中的存储方式是不同的 解决方案二: 答案为D,这

javascript滑动图片代码,求详细解释每一句的作用,急用,请帮忙

问题描述 javascript滑动图片代码,求详细解释每一句的作用,急用,请帮忙 /**///选择器 function $a(id,tag){var re=(id&&typeof id!="string")?id:document.getElementById(id);if(!tag){return re;}else{return re.getElementsByTagName(tag);}} //焦点滚动图 点击移动 function movec() { var o=

新手求助,为什么交换数值实参不能用int整型,而指针可以完成交换?求详细原理,谢谢

问题描述 新手求助,为什么交换数值实参不能用int整型,而指针可以完成交换?求详细原理,谢谢 解决方案 E1用的是指针,E2是引用(实际也是指针),E3传的是参数的数值所以无法成功 向子函数传递参数是把参数复制了一份给子函数用,所以子函数里操作的都是副本,不会影响调用它的函数变量. 解决方案二: 不是int整形的关系,方法内的变量是方法变量,是方法内的变量执行完就会销毁掉,而&的变量是引用变量,可以了解一下堆和栈

一个java写的程序,求详细每一行的解释

问题描述 一个java写的程序,求详细每一行的解释 import java.util.Scanner; public class Test{ public static void main(String args[]){ Scanner input = new Scanner(System.in); final int a =50; final int b =10; int c = 0; int d = 2; while(c<a){ boolean e =true ; for(int divis

c语言-C语言程序运行结果为何是a=2??求大侠解释详细步骤

问题描述 C语言程序运行结果为何是a=2??求大侠解释详细步骤 #include main () { int a=1,b=3,c=0,d=7,e=9,f=2,g=4,h=6,i=8,j=0,k=10; a+=++b*c+--e/f-i%d?c--&++i?++b||--d:!j==1:k+++a; printf("a=%d",a); } /* 1.程序运行结果为: a=2 */ 解决方案 程序结果不确定.也就是说不同的编译器结果不同. 解决方案二: 参考:http://www.