需要深入了解printf的功能

时间:2015-06-04 15:16:17

标签: c printf

我尝试了下面提到的代码,令我惊讶的是获得了一些相关的输出。

void main( )
  { char s[]="USMComputer";
     printf("%*.*s",-5, 4, s+3);
  }

输出 Comp 。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:0)

如果你知道关于awk的话,那会有意义吗?无论如何,这里发生的是*被你给出的数字替换(分别为-5和4),这意味着

  

printf(“%*。* s”, - 5,4,s + 3);

会改为

  

printf(“% - 5.4s”,s + 3);