printf()和scanf()的*修饰符

一、printf()里边的*修饰符
printf()和scanf()都可以使用*修饰符来修饰转换说明的含义。
如果事先没有指定字段宽度,想用程序来指定,那么就可以用*修饰符来代替字段宽度,但是需要一个参数告诉函数,字段宽度应该为多少。
即%d,参数应该包含和d的对应的值

/****file 1****/
int main()
    double weight = 212 ;
    int precision = 0;
    int width = 0;

    scanf("%d %d", &width, &precision);

    return 0;
}

这里写图片描述

二、scanf()里边的*修饰符
如果把*放在%和转换字符之间,就会跳过相应的输出项。


/****file 2*****/
int main()
{
    int n = 0;

    printf("请输入三个数:\n");
    scanf("%*d %*d %d", &n);
    printf("n=%d\n", n);

    return 0;
}

这里写图片描述

你可能感兴趣的:(C语言常见问题,printf,scanf)