首页 > 解决方案 > Printf stmt 如何执行 printf("%*.*s",10,7,str); 在详细解释

问题描述

为什么我们使用. 在打印字符串时。

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

这是实际的程序。详细解释 printf 语句如何执行操作。

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

标签: cprintf

解决方案


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

等于

printf("%10.7s",str);

你告诉 printf 在 str 中打印至少 10 个字母和前 7 个字符,所以

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

要填充的字符是空格,默认对齐是正确的。

您可以将 justify 更改为 left by

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

它会打印

"c-point   "

并且您不能添加0到,%s但您可以在数字转换中执行此操作,并且您不能同时使用-0在数字转换中也因为-会覆盖0


推荐阅读