C dilində% 2d və% 02d arasındakı fərq nədir? Məntiq nədir?


cavab 1:

% 2d bir printf bəyanatında yazırsınızsa, ən azı iki rəqəmdən ibarət nəticə çıxarılır. Eləcə də

a = 235; printf ("% 2d", a);

23 xərcləyərdi.

Çünki printf quruluşdur

printf ("% wd", var)

Ancaq% 02d istifadə edirsinizsə, çıxışdan əvvəl 0 əlavə olunur.

a = 34; printf ("% 02d", a);

Bu 034 qayıdacaqdı.

Tarixi iki rəqəmlə göstərmək üçün bir proqram yazarkən bunu tapdım. % 02d formatını istifadə edərkən nəticədən təəccübləndim.

Cavabı bəyənirsinizsə, razılaşın.


cavab 2:

Dildə% 2d boşluğu ilə sayı doldurur. Sayı 2 simvoldan az olmalıdır:

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

Çıxış "5" dir. Qeyd edək ki, 5-dən əvvəl boşluq var.

Bu kimi bir şey etməyə çalışarsan:

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

Çıxış boşluq olmayan 454-dir.

İndi% 02d haqqında danışaq:

0, sahənin sıfırlarla doldurulduğunu, 2-nin isə sahənin iki simvolun enməsi deməkdir. 2 simvoldan az olan nömrələr üçün nömrə 0 ilə doldurulur

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

buraxılış 03 olacaq

Kimi bir şey etməyə çalışdığınız zaman:

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

Çıxış 345-dir və heç bir aparıcı sıfır əlavə edilmir.

İndi "% .6f" -ə gəlirik:

Bu o deməkdir ki, onluq yerdən sonra 6 rəqəm çıxarıldı (6 rəqəmə yuvarlaqlaşdırılır):

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

Çıxış 345.246784-dir, çünki 7-ci mövqedəki sayı 5-dən çoxdur və buna görə 3-ü 4-ə yuvarlaqlaşdırılır.

Ümid edirəm bu kömək edir!

Xoşbəxt proqramlaşdırma :)


cavab 3:

Dildə% 2d boşluğu ilə sayı doldurur. Sayı 2 simvoldan az olmalıdır:

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

Çıxış "5" dir. Qeyd edək ki, 5-dən əvvəl boşluq var.

Bu kimi bir şey etməyə çalışarsan:

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

Çıxış boşluq olmayan 454-dir.

İndi% 02d haqqında danışaq:

0, sahənin sıfırlarla doldurulduğunu, 2-nin isə sahənin iki simvolun enməsi deməkdir. 2 simvoldan az olan nömrələr üçün nömrə 0 ilə doldurulur

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

buraxılış 03 olacaq

Kimi bir şey etməyə çalışdığınız zaman:

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

Çıxış 345-dir və heç bir aparıcı sıfır əlavə edilmir.

İndi "% .6f" -ə gəlirik:

Bu o deməkdir ki, onluq yerdən sonra 6 rəqəm çıxarıldı (6 rəqəmə yuvarlaqlaşdırılır):

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

Çıxış 345.246784-dir, çünki 7-ci mövqedəki sayı 5-dən çoxdur və buna görə 3-ü 4-ə yuvarlaqlaşdırılır.

Ümid edirəm bu kömək edir!

Xoşbəxt proqramlaşdırma :)


cavab 4:

Dildə% 2d boşluğu ilə sayı doldurur. Sayı 2 simvoldan az olmalıdır:

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

Çıxış "5" dir. Qeyd edək ki, 5-dən əvvəl boşluq var.

Bu kimi bir şey etməyə çalışarsan:

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

Çıxış boşluq olmayan 454-dir.

İndi% 02d haqqında danışaq:

0, sahənin sıfırlarla doldurulduğunu, 2-nin isə sahənin iki simvolun enməsi deməkdir. 2 simvoldan az olan nömrələr üçün nömrə 0 ilə doldurulur

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

buraxılış 03 olacaq

Kimi bir şey etməyə çalışdığınız zaman:

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

Çıxış 345-dir və heç bir aparıcı sıfır əlavə edilmir.

İndi "% .6f" -ə gəlirik:

Bu o deməkdir ki, onluq yerdən sonra 6 rəqəm çıxarıldı (6 rəqəmə yuvarlaqlaşdırılır):

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

Çıxış 345.246784-dir, çünki 7-ci mövqedəki sayı 5-dən çoxdur və buna görə 3-ü 4-ə yuvarlaqlaşdırılır.

Ümid edirəm bu kömək edir!

Xoşbəxt proqramlaşdırma :)