Cili është ndryshimi midis% 2d dhe% 02d në gjuhën C? Cila është logjika?


përgjigje 1:

% 2d në gjuhën c mbush numrin me një hapësirë. Numri duhet të jetë më pak se 2 karaktere:

int x = 5; printf ("% 2d", x);

Prodhimi është "5". Vini re se ka një hapësirë ​​para 5.

Nëse përpiqeni të bëni diçka të tillë:

int x = 454; printf ("% 2d", x);

Prodhimi është 454 pa hapësira drejtuese.

Tani le të flasim për% 02d:

0 do të thotë që fusha është e mbushur me zera, dhe 2 do të thotë që fusha është dy karaktere e gjerë. Për numrat me më pak se 2 karaktere, është i mbushur me 0.

int x = 3; printf ("% 02d", x);

edicioni do të jetë 03

Kur përpiqeni të bëni diçka si:

int x = 345; printf ("% 02d", x);

Prodhimi është 345 dhe nuk shtohen zero zero.

Tani vijmë tek "% .6f":

Kjo do të thotë që vetëm 6 shifra dalin pas dhjetës dhjetore (raundi deri në 6 shifra):

noton x = 345.24678389; printf ("%. 6f", x);

Prodhimi është 345.246784, sepse numri në pozicionin e 7-të është më i madh se 5 dhe për këtë arsye 3 është i rrumbullakosur në 4.

Shpresoj se kjo të ndihmon!

Programim i lumtur :)


përgjigje 2:

Kuptimi i% 2d: - Nëse lexoni një numër të plotë (% 2d), lejohet vetëm një numër i plotë me deri në dy shifra. Nëse po lexoni një grup prej 50 karaktere, duhet të përdorni 50%. Shtë e njëjta ide.

numri int = 0; skanim ("% 2d", & numër); printf ("% d", numri);

Nëse përdoruesi 21 do të kalohej për funksionin Scanf (), numri 21 do të ruhej në numrin e ndryshueshëm. Nëse përdoruesi është pak më i gjatë se 21, d.m.th. H. 987, ruhen vetëm dy shifrat e para - 98.

Kuptimi i% 02d: - Duhet të përdorni% 02d nëse zerot kryesorë duhet të plotësohen me dy hapësira:

printf ("% 02d:% 02d:% 02d \ n", orë, minutë, sekondë);

Për shembull, shihni programin e plotë vijues:

#include int main (i pavlefshëm) {int hh = 3, mm = 1, ss = 4, dd = 159; printf ("Koha është% 02d:% 02d:% 02d.% 06d \ n", hh, mm, ss, dd); kthimi 0; }

cilat rezultate:

Ora është 03: 01: 04.000159

përgjigje 3:

Kuptimi i% 2d: - Nëse lexoni një numër të plotë (% 2d), lejohet vetëm një numër i plotë me deri në dy shifra. Nëse po lexoni një grup prej 50 karaktere, duhet të përdorni 50%. Shtë e njëjta ide.

numri int = 0; skanim ("% 2d", & numër); printf ("% d", numri);

Nëse përdoruesi 21 do të kalohej për funksionin Scanf (), numri 21 do të ruhej në numrin e ndryshueshëm. Nëse përdoruesi është pak më i gjatë se 21, d.m.th. H. 987, ruhen vetëm dy shifrat e para - 98.

Kuptimi i% 02d: - Duhet të përdorni% 02d nëse zerot kryesorë duhet të plotësohen me dy hapësira:

printf ("% 02d:% 02d:% 02d \ n", orë, minutë, sekondë);

Për shembull, shihni programin e plotë vijues:

#include int main (i pavlefshëm) {int hh = 3, mm = 1, ss = 4, dd = 159; printf ("Koha është% 02d:% 02d:% 02d.% 06d \ n", hh, mm, ss, dd); kthimi 0; }

cilat rezultate:

Ora është 03: 01: 04.000159

përgjigje 4:

Kuptimi i% 2d: - Nëse lexoni një numër të plotë (% 2d), lejohet vetëm një numër i plotë me deri në dy shifra. Nëse po lexoni një grup prej 50 karaktere, duhet të përdorni 50%. Shtë e njëjta ide.

numri int = 0; skanim ("% 2d", & numër); printf ("% d", numri);

Nëse përdoruesi 21 do të kalohej për funksionin Scanf (), numri 21 do të ruhej në numrin e ndryshueshëm. Nëse përdoruesi është pak më i gjatë se 21, d.m.th. H. 987, ruhen vetëm dy shifrat e para - 98.

Kuptimi i% 02d: - Duhet të përdorni% 02d nëse zerot kryesorë duhet të plotësohen me dy hapësira:

printf ("% 02d:% 02d:% 02d \ n", orë, minutë, sekondë);

Për shembull, shihni programin e plotë vijues:

#include int main (i pavlefshëm) {int hh = 3, mm = 1, ss = 4, dd = 159; printf ("Koha është% 02d:% 02d:% 02d.% 06d \ n", hh, mm, ss, dd); kthimi 0; }

cilat rezultate:

Ora është 03: 01: 04.000159