4 dni po Jobsie tj. 9.X. zmarł Dennis Ritchie, który nie muszę chyba mówić co zrobił, więc:

#include <stdio.h>

int main()
{
   printf ("Bye, bye WORLD!");
   return 0;
}

STYMulator JIL ST YM2149 mjuz:k @ gnu/linux
SIUP (SIo2Usb2Pc) - SIO2PC USB Edition
PIN ready logo
3M / InD: ... na kasetach były zabezpieczenia w postaci tzw. "mikropierdnięcie" ...

2 Ostatnio edytowany przez laoo/ng (2011-10-14 08:23:25)

Pod względem wpływu na współczesny świat Jobsa przewyższał kilkukrotnie. Bez C i Unixów nic by nie było!
Rest in peace dmr.

PS. Widać, że, grzeniu, dawno nie pisałeś w C, bo wyjadacz C napisałby raczej:

#include <stdio.h>

int main(void)
{
   printf("Bye, bye WORLD!");
}

3

Hehe, to ja potrolluję.
IMO prawdziwy wyjadacz napisałby tak jak K&R:

#include <stdio.h>
main()
{
  printf("bye bye, world\n");
}

K&R napisali również, że nie trzeba zwracać konkretnej wartości, a wartość zwracaną przez funkcję można zignorować. Jak się okazuje, nawet w przypadku Hello World-a, można przez to narobić problemów. Nie sprawdzacie wartości zwracanej przez printf() - a co jeśli ktoś właśnie przeciął kabel do terminala i printf się nie uda? main() może zwrócić cokolwiek, co może powodować rózne zachowania w różnych systemach. :)

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

4

Epi przecinek chyba jest zbędny:

#include <stdio.h>
main()
{
  printf("bye bye world\n");
}
Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

5 Ostatnio edytowany przez jer (2011-10-14 10:41:32)

Po "Epi" powinien być dwukrotnie ;)

6

Nie zwracanie wartości w funkcji, która powinna ją zwracać to jest warning kompilatora i moim zdaniem poważny błąd. A ciekawostką jest, że printf prawie w każdym runtime-ie robi malloca, więc może się wywalić :)

What can be asserted without proof can be dismissed without proof.

7

sqward napisał/a:

Nie zwracanie wartości w funkcji, która powinna ją zwracać to jest warning kompilatora i moim zdaniem poważny błąd.

Z wyjątkiem funkcji main, która nawet w super ścisłym C++ może nie mieć returna:

ISO/IEC 14882:2011 napisał/a:

3.6.1.5:
A return statement in main has the effect of leaving the main function (destroying any objects with automatic
storage duration) and calling std::exit with the return value as the argument. If control reaches the end
of main without encountering a return statement, the effect is that of executing return  0;

Podobnie wartość zwarana jest też zdefiniowana od standardu C99. Wcześniej main bez returna zwracał śmieci. Ale to nigdy nie było i nie jest błędem.

8 Ostatnio edytowany przez grzeniu (2011-10-15 16:38:33)

laoo: nie uzywam -Wall ;), choć najczęściej piszę tak: int main(int argc, char *argv[])

STYMulator JIL ST YM2149 mjuz:k @ gnu/linux
SIUP (SIo2Usb2Pc) - SIO2PC USB Edition
PIN ready logo
3M / InD: ... na kasetach były zabezpieczenia w postaci tzw. "mikropierdnięcie" ...

9

http://notepad-plus-plus.org/news/good- … tchie.html

STYMulator JIL ST YM2149 mjuz:k @ gnu/linux
SIUP (SIo2Usb2Pc) - SIO2PC USB Edition
PIN ready logo
3M / InD: ... na kasetach były zabezpieczenia w postaci tzw. "mikropierdnięcie" ...