Formāta norādītājs ir īpaša rakstzīme vai rakstzīmju secība, ko izmanto, lai noteiktu ekrānā drukājamo datu veidu vai datu veidu, kas skenējami no standarta ievades. Formāta norādītājs sākas ar rakstzīmi “%”, kam seko rakstzīmju secība dažāda veida datiem.
Īsāk sakot, tas mums norāda, kāda veida datus saglabāt un kādus drukāt. Formātu specifikācijas galvenokārt tiek izmantotas ar funkcijām scanf() un printf().
Piemēram, ja mēs vēlamies lasīt un izdrukāt veselu skaitli, izmantojot scanf() un printf() funkcijas, tiek izmantots vai nu %i, vai %d, taču abās ir neliela atšķirība %i un %d formāta norādītājs .
%d norāda veselu decimāldaļu ar zīmi, savukārt %i norāda dažādu bāzu veselu skaitli.
“%d” un “%i” darbojas līdzīgi ar printf()
Nav atšķirības starp %i un %d formāta specifikācijām, ja tos izmanto kopā ar printf.
Apsveriet šādu piemēru.
C
kas ir regex java
// C program to demonstrate> // the behavior of %i and %d> // with printf statement> #include> int> main()> {> > int> num = 9;> > // print value using %d> > printf> (> 'Value of num using %%d is = %d
'> , num);> > // print value using %i> > printf> (> 'Value of num using %%i is = %i
'> , num);> > return> 0;> }> |
>
>Izvade
Value of num using %d is = 9 Value of num using %i is = 9>
%d un %i uzvedība atšķiras ar scanf()
%d pieņem bāzi 10, bet %i automātiski nosaka bāzi.
kas ir java kaudze
Tāpēc abi specifikatori darbojas atšķirīgi, ja tos izmanto ar ievades funkciju. Tātad 012 vērtība būtu 10 ar %i, bet 12 ar %d.
- %d ņem veselu skaitļa vērtību kā veselu decimālskaitli ar zīmi, t.i., negatīvas vērtības kopā ar pozitīvām vērtībām, bet vērtībām jābūt decimāldaļās, pretējā gadījumā tiks drukāta atkritumu vērtība.
( Piezīme : ja ievade ir oktālā formātā, piemēram, 012, %d ignorēs 0 un pieņems ievadi kā 12).
%i ņem veselu skaitli kā veselu skaitļa vērtību ar decimālo, heksadecimālo vai oktālo veidu.
Lai ievadītu vērtību heksadecimālā formātā, vērtība jāievada ar 0x, un, lai ievadītu vērtību oktālā formātā, vērtība ir jānorāda pirms 0.
Apsveriet šādu piemēru.
C
// C program to demonstrate the difference> // between %i and %d specifier> #include> int> main()> {> > int> a, b, c;> > printf> (> 'Enter value of a in decimal format:'> );> > scanf> (> '%d'> , &a);> > printf> (> 'Enter value of b in octal format: '> );> > scanf> (> '%i'> , &b);> > printf> (> 'Enter value of c in hexadecimal format: '> );> > scanf> (> '%i'> , &c);> > printf> (> 'a = %i, b = %i, c = %i'> , a, b, c);> > return> 0;> }> |
>
>
Izvade
Enter value of a in decimal format: 12 Enter value of b in octal format: 012 Enter value of c in hexadecimal format: 0x12 a = 12, b = 10, c = 18>
Paskaidrojums
- A as 12 decimālā vērtība ir 12
- B decimālvērtība kā 12 (oktāls) ir 10
- C decimālā vērtība kā 12 (heksadecimālā) ir 18