C,java语言中初始化问题

来源:互联网 发布:mysql 5.7修改root密码 编辑:程序博客网 时间:2024/04/30 12:41

C/C++语言与java不一样java定义一个成员变量时可以不显式初始化系统会在类的准备夹断或者类的实例是进行默认的初始化。java的系统初始化规则是:

整数类型(byte,short,into,long)默认值为0。

浮点类型(float,double)默认值为0。

字符类型(char)默认值为\u0000。

布尔类型(boolean)默认值为0。

引用类型(类,接口,和数组)默认值为null。但是局部变量必须初始化。

java语句:

package example;public class Test {    private static int a;    private static char c;    public static void main(String[] args) {        int k=10;        System.out.println(a);        System.out.println(c);        System.out.println(k);    }}输出:0,NULL,10; 
c/c++语句:

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#pragmawarning(disable:4996)

voidfun(intx,intpp[],int *n){

    for (inti=1;i<100;i+=2)

    {

       if (i%x==0)

       {   *pp++=i;

           (*n)++;//不是*n++

       }

      

    }

    //printf("\nadffd%d\n",*n);

}

intmain(){

    intpp[100]={0},x,n=0;//必须先初始化要不&n不确定

    scanf("%d",&x);

    fun(x,pp,&n);

    for (inti=0;i<100&&pp[i]!=0;i++)

    {

       printf("%d\t",pp[i]);

    }

    printf("%d个这样的数",n);

    system("pause");

    return 0;

}


0 0