An bhfuil difríocht idir úsáid le haghaidh (;;) agus cé (1)?


freagra 1:

Maidir leis an gcód ginte, ba cheart do gach tiomsaitheoir C nua-aimseartha na torthaí céanna a sholáthar.

Údair, Ollúna, agus daoine eile a deir go bhfuil (;;) ina gcúis le níos mó forchostais, níl (a) a fhios acu a bhfuil siad ag caint, nó (b) oibríonn siad le sean-tiomsaitheoirí nó le tiomsaitheoirí briste. ní ghineann (;;) aon fhorchostas breise toisc nach bhfuil aon choinníoll ann agus nach bhfuil aon seicheamh ann maidir le hathróg lúb. Más rud ar bith é, cé go bhféadfadh (1) níos mó lasnairde a ghiniúint i sean-tiomsaitheoir neamh-optamaithe toisc go seiceálann sé ar luas tintreach an bhfuil 1 nonzero ag tús gach atráchta. Ní dhéanann tiomsaitheoirí nua-aimseartha.

I roinnt cur chun feidhme tiomsaitheora, má shocraíonn tú leibhéil rabhaidh ard go leor nó má úsáideann tú fóntais atá cosúil le lint, b’fhéidir go bhfeicfidh tú rabhadh ar feadh tamaill (1) nó rabhadh coibhéiseach go bhfuil slonn coinníollach seasmhach. óir ní ghineann (;;) rabhadh den sórt sin toisc nach bhfuil léiriú coinníollach ann ar chor ar bith. D'oibrigh mé ar thionscadail inar theastaigh uainn rabhaidh nialasacha a thiomsú, mar sin roghnaigh mé (;;) in ionad ar feadh tamaill (1) mar a choibhéis. Tá sé níos éasca freisin cuardach a dhéanamh ar (;;) ná na malairtí cé.

Dála an scéil, má úsáideann tú é idir an dá linn, is fearr a rá:

cé go (fíor)

ná a rá:

agus (1)

cé go dteastaíonn níos mó clóscríbhneoireachta ón gcéad cheann.

I C nua-aimseartha (i.e. ó C99 i 1999) níor cheart duit do leagan féin de TRUE a chruthú. Ina áit sin, cuir an comhad ceanntásc stdbool.h leis, agus tá rochtain agat ar an gcineál sonraí sainithe Bool (in ionad an eochairfhocal _Bool a úsáid) agus na siombailí fíor agus bréagacha. Is mar seo atá do luachanna fíor / bréagacha féin a rolladh ...

... 1998.


freagra 2:

An caighdeán: caighdeán C ++

6.5.3 An ráiteas le haghaidh ráiteas1 Freagraíonn an ráiteas don ráiteas (le haghaidh ráiteas tosaigh conditionopt; expressionopt) le [Cód] {le haghaidh ráitis init agus (coinníoll) {léiriú ráitis; }} [/ cód] cé is moite de go bhfuil na hainmneacha a dhearbhaítear sa ráiteas for-init sa réigiún dearbhaithe céanna leis na hainmneacha a dearbhaíodh sa riocht, agus cé is moite de leanúint ar aghaidh sa ráiteas (nach bhfuil in a tá ráiteas atráchta eile san áireamh) slonn sula ndéanann sé stát meastóireachta a fhorghníomhú. [Nóta: Sonraíonn an chéad ráiteas mar sin an tosaithe don lúb. sonraítear le coinníoll (6.4) tástáil atá le déanamh roimh gach atriall ionas go scoirfear an lúb má éiríonn an riocht bréagach; Is minic a léiríonn an slonn méadú a dhéantar tar éis gach atriall. - Nóta Nótaí] 2 Is féidir coinníoll amháin nó an dá choinníoll agus an slonn a fhágáil ar lár. Déanann coinníoll atá in easnamh an clásal intuigthe agus cé go bhfuil sé (fíor).

Níorbh fhéidir


freagra 3:

Aon tiomsaitheoir ar fiú cód comhionann a ghiniúint sa dá chás.

Rogha féideartha don rogha le haghaidh (;;) is ea go measann daoine (go leor?) Gur “droch-stíl” tairisigh uimhriúla a úsáid sa chód. Ciallaíonn sé sin nach scríobhann tú

x + = 10;

ach scríobhann tú

stat stat int int my_constant_value = 10;

(...)

x + = my_constant_value;

Tarlaíonn sé seo toisc go ndearbhaítear gach tairisigh uimhriúla go sainráite (agus b'fhearr ag tús an chomhaid foinse, seachas iad a dháileadh ar fud an chomhaid), a mbíonn cód níos soláimhsithe mar thoradh air.

Is léir nach ndéanann sé aon difríocht i dtéarmaí (;;) vs cé (1), ach tá sé míchompordach fós cód '1' a fheiceáil gan uimhreacha.

I C ++ (agus ó C99 freisin i C) is féidir linn “cé (fíor)” a scríobh, ach tá sé seo níos faide ná “cé (1)”, atá níos faide (de réir 1 charachtar) ná “le haghaidh (;; ) "".