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


cavab 1:

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 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 2:

% 2d anlamı: - Bir ədəd (% 2d) oxuyursan, yalnız iki rəqəmə qədər olan bir tam sayına icazə verilir. 50 simvoldan bir sıra oxuyursan,% 50s istifadə etməlisən. Eyni fikirdir.

int sayı = 0; scanf ("% 2d", & nömrə); printf ("% d", nömrə);

İstifadəçi 21, scanf () funksiyası üçün ötürüldüsə, 21 sayı dəyişən nömrədə saxlanılırdı. İstifadəçi 21-dən bir qədər uzun olarsa, yəni. H. 987, yalnız ilk iki rəqəm saxlanılır - 98.

% 02d mənası: - Aparıcı sıfırları iki boşluqla doldurmaq üçün% 02d istifadə etməlisiniz:

printf ("% 02d:% 02d:% 02d \ n", saat, dəqiqə, ikinci);

Məsələn, aşağıdakı tam proqrama baxın:

# daxil edin int əsas (etibarsız) {int hh = 3, mm = 1, ss = 4, dd = 159; printf ("Saat% 02d:% 02d:% 02d.% 06d \ n", hh, mm, ss, dd); qayıt 0; }

nə nəticələr:

Saat 03: 01: 04.000159

cavab 3:

% 2d anlamı: - Bir ədəd (% 2d) oxuyursan, yalnız iki rəqəmə qədər olan bir tam sayına icazə verilir. 50 simvoldan bir sıra oxuyursan,% 50s istifadə etməlisən. Eyni fikirdir.

int sayı = 0; scanf ("% 2d", & nömrə); printf ("% d", nömrə);

İstifadəçi 21, scanf () funksiyası üçün ötürüldüsə, 21 sayı dəyişən nömrədə saxlanılırdı. İstifadəçi 21-dən bir qədər uzun olarsa, yəni. H. 987, yalnız ilk iki rəqəm saxlanılır - 98.

% 02d mənası: - Aparıcı sıfırları iki boşluqla doldurmaq üçün% 02d istifadə etməlisiniz:

printf ("% 02d:% 02d:% 02d \ n", saat, dəqiqə, ikinci);

Məsələn, aşağıdakı tam proqrama baxın:

# daxil edin int əsas (etibarsız) {int hh = 3, mm = 1, ss = 4, dd = 159; printf ("Saat% 02d:% 02d:% 02d.% 06d \ n", hh, mm, ss, dd); qayıt 0; }

nə nəticələr:

Saat 03: 01: 04.000159

cavab 4:

% 2d anlamı: - Bir ədəd (% 2d) oxuyursan, yalnız iki rəqəmə qədər olan bir tam sayına icazə verilir. 50 simvoldan bir sıra oxuyursan,% 50s istifadə etməlisən. Eyni fikirdir.

int sayı = 0; scanf ("% 2d", & nömrə); printf ("% d", nömrə);

İstifadəçi 21, scanf () funksiyası üçün ötürüldüsə, 21 sayı dəyişən nömrədə saxlanılırdı. İstifadəçi 21-dən bir qədər uzun olarsa, yəni. H. 987, yalnız ilk iki rəqəm saxlanılır - 98.

% 02d mənası: - Aparıcı sıfırları iki boşluqla doldurmaq üçün% 02d istifadə etməlisiniz:

printf ("% 02d:% 02d:% 02d \ n", saat, dəqiqə, ikinci);

Məsələn, aşağıdakı tam proqrama baxın:

# daxil edin int əsas (etibarsız) {int hh = 3, mm = 1, ss = 4, dd = 159; printf ("Saat% 02d:% 02d:% 02d.% 06d \ n", hh, mm, ss, dd); qayıt 0; }

nə nəticələr:

Saat 03: 01: 04.000159