как Printf stmt выполняет printf ("% *. * s", 10,7, str); в подробном объяснении - PullRequest
0 голосов
/ 27 марта 2020

Почему мы использовали . при печати строки.

    printf("%*.*s",10,7,str);

Это актуальная программа. как оператор printf преобразует операцию в подробном объяснении.

    #include<stdio.h>
    int main()
    { 
    char *str="c-pointer";
    printf("%*.*s",10,7,str); 
    return 0; 
    }

Ответы [ 2 ]

0 голосов
/ 27 марта 2020

.7 - это точность

Не более 7 символов из str.


10 - минимальная ширина

Напечатайте не менее 10 символов, если необходимо, pad.

0 голосов
/ 27 марта 2020
printf("%*.*s",10,7,str); 

равно

printf("%10.7s",str);

Вы приказываете printf напечатать как минимум 10 букв и первые 7 символов в строке, поэтому

"   c-point"
 ^^^^^^^^^^

Заполняемый символ - это пробел и по умолчанию используется выравнивание вправо.

И вы можете изменить выравнивание влево на

printf("%-10.7s",str);

, оно выведет

"c-point   "

, и вы не можете добавить 0 к %s, но вы можете сделать это в преобразованиях с нумерацией c, и вы не можете использовать как -, так и 0 в преобразованиях с нумерацией c, потому что - переопределит 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...