Search
Write a publication
Pull to refresh

Инициализация переменных

Провёл очень интересный эксперимент, взял два языка программирование С и Java и написал простенькие программы:

С:
#include <stdio.h>

int _tmain(int argc, _TCHAR* argv[])
{
int a;
char b;
bool c;
float d;

printf("%d \n",a);
printf("%c \n",b);
if (c==true)
{
printf(«bool=true\n»);
}
else
{
printf(«bool=false\n»);
}
printf("%l \n",d);

return 0;
}

Java:

public class Main {

public static void main(String[] args) {

boolean a;
int b;
char c;
float d;
System.out.println(a);
System.out.println(b);
System.out.println©;
System.out.println(d);

}
}

Суть этих программ, проверить, что будет показывать, если я не инициализирую переменные. Старый добрый С разочаровал, он начал показывать разную гадость. Интересно, что по умолчание в булевском типе переменная с была обьявлена как true. А тип float вообще не вывел… Что ж показала Java? Ошибки! Она требовала, чтобы мы инициализировали переменные.

Мораль это басни такова: инициализируйте переменные :)

p.s.
C — Microsoft Visual C++ 2008 Express Edition
Java — NetBeans IDE 6.1
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.