Wpis z mikrobloga

#programowanie #heheszki #jezykc

Wiecie, że w kodzie w C możecie spokojnie wkleić URL i wszystko się ładnie skompiluje? Przykład:

#include
int main(){
[https://www.wykop.pl/mikroblog/](https://www.wykop.pl/mikroblog/)
printf("OK\n");
}
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Gdyby ktoś się zastanawiał dlaczego:
https: jest rozumiane jako etykieta (pozdrawiamy stare, dobre goto)
//www... jest komentarzem.
  • Odpowiedz
Umieszczenie "return 0" i nieumieszczenie go nie zmienia zachowania programu.

@mateusza: Nie napisałem nic o 'return 0', a jedynie o zwracaniu wartości z funkcji main. Daj 'return 1' i potem pisz o różnicach w programie wynikowym. Nie każda funkcja musi zwracać zero, a to, że współczesne kompilatory w swej łaskawości maskują błędy to raczej wada niż zaleta, bo powodują wysyp niedzielnych programistów.
$ gcc -o wrong x.c -Wall -Werror -std=gnu90
x.c: In function ‘main’:
  • Odpowiedz
@zakowskijan72:

Wyciągnąłeś STARY standard gnu90 z roku 1990, w którym i tak jest to zaledwie WARNING. W standardach z 1999 (gnu99, c99, iso9899:1999) oraz 2011 (gnu11, c11, iso9899:2011) jest to w 100% prawidłowy kod.

Punkt 5.1.2.2.3 w standardzie ISO z
  • Odpowiedz
@mateusza: Brak wiedzy nie jest powodem do dumy.


( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°)

@zakowskijan72: ale uniknięcie marnowania czasu na uczenie się słabej (w porównaniu z innymi) i niepotrzebnej (w danych okolicznościach) technologii owszem. A nauka głupich języków niestety czasem powoduje złe nawyki. Nie bez powodu Torvalds stwierdził kiedyś, że
  • Odpowiedz
@mateusza

uniknięcie marnowania czasu na uczenie się słabej (w porównaniu z innymi) i niepotrzebnej (w danych okolicznościach) technologii

Jak ja się uczyłem Fortrana czy Moduli2, to lepszych technologii nie było. XD

Torvalds stwierdził kiedyś, że do swoich programów wybiera czyste C po to, żeby programiści C++ trzymali się z dala :-)

I dlatego Ty zamieściłeś fragment niepoprawnego względem ówczesnych standardów kodu w C? No sorry, ale ktoś tu przeszarżował :)
  • Odpowiedz
Jak ja się uczyłem Fortrana czy Moduli2, to lepszych technologii nie było. XD


Ale jak ja się uczyłem, to już były.

I dlatego Ty zamieściłeś fragment niepoprawnego względem ówczesnych standardów kodu w C? No sorry, ale ktoś tu przeszarżował :)


Nie rozumiem, jaki związek przyczynowo-skutkowy tu dostrzegasz.
  • Odpowiedz