我尝试了下面提到的代码,令我惊讶的是得到了一些相关的输出。
void main( )
{ char s[]="USMComputer";
printf("%*.*s",-5, 4, s+3);
}
这会输出Comp。有人可以解释一下吗?
最佳答案
如果您对 awk 了解一点点,那就有意义了。无论如何,这里发生的是 * 被您给出的数字(分别为 -5 和 4)替换,这意味着
printf("%*.*s",-5, 4, s+3);
将更改为
printf("%-5.4s", s+3);
关于c - 需要深入了解 printf 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30647774/