这对许多人来说可能是一个非常基本的问题,但我无法理解%.*s在做什么?
void substring(int i, int j, char *ch)
{
printf("The substring is: %.*s\n", j - i, &ch[i]);
//what is %.*s doing?
}
Run Code Online (Sandbox Code Playgroud)
该*走的长度限制从字符串之前的参数字符串.所以printf的将输出(最多)j - i从人物&ch[i]到stdout.如果字符串较短,则将打印整个字符串,但不会填充空白字符串.