Mikäköhän logiikka tässäkin on, kun käytetään #definea alussa niin siihen ei laiteta mitään yhtäsuuruusmerkkiä tms. määritettävän ja määritelmän väliin tai puolipistettä perään, kuten tässä
#define TRUE 1
#define FALSE 0
...
int done = 0;
while( done != TRUE ) {
...
}
C:een järjen juoksu
4
448
Vastaukset
Koska #define on esikääntäjän käyttöön ja sillä tehdään makroja. Se korvaa mitä tahansa tekstiä eikä kysee ole siis samasta asiasta kuin vakioiden tekeminen tai sijoittamisesta johonkin muutttujaan.
#define ISDONE while( done != TRUE )
..toimii myös.- Ma-ma-makro
Googlaa esikääntäjä tai preprocessor.
Esikääntäjälle voi tehdä mm. funktiontapaisia makroja, ja 'liimata' argumentteja (##-merkeillä). Makrot on osattava, koska niihin törmää muiden koodissa ja tietysti toisinaan on järkevää/pakollista väsätä omia. - Linux-rules
>#define TRUE 1
>#define FALSE 0
Laittaisin tuon mielummin näin:
#define FALSE 0
#define TRUE !FALSE- c c c
turvallisempi kaikissa tilanteissa. Kotitehtäväksesi jää, missä!
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1077793
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?1146098- 835207
- 1414563
Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan113240- 623034
- 582948
Törkeää toimintaa
Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818102464- 612447
Hei........
Pelkkä sun näkeminen saa mut hymyilemään pitkin iltaa. Oot niin 🤩😘 Edellinen poistettiin.562076