最近在学C语言,为什么 C# 在 printf(); 输出的时候要加上数据类型,而 Java 输出的时候却不需要加呢?
因为java和net都是一开始就从object开始的,而object从开始就有tostring方法
C/C++从一开始就没有这么一个“everything is object”的说法,也从来就没有一个万物超类object,当然c/c++其实也有隐藏的超级boss,那就是指针,万物为指针,但指针指内容没有明确规定,所以你使用的时候得告诉他具体到底指的是啥内容
因为C对类型校验比较严格,有点“傻”
JAVA比较自由,比较“智能”
PYTHON好像更“智能”,都不用写变量类型
这个问题只要和汇编一比较就可以知道了,C中定义数据类型是为了容易编程,定义了数据类型之后又定义了数据类型之间的各种运算,这样对编程人来说就会方便很多,如果不定义数据类型,那么数据之间的差别只有位不同而已,这样如果要定义一个字符变量,你首先要去申请一个8位的内存,再去按ASCII码对其进行赋值,这样对编程人员来说是很恐怖的。
别人这样设置规定的,是为了低出错率。