qq_36599218
humanint
2016-11-27 05:25
采纳率: 66.7%
浏览 1.5k
已采纳

请问c语言中的%*s是做什么用的?

while ((status = scanf("%d", &code)) != 1 || (code < 1 || code>5))
{
if (status != 1)
scanf("%*s"); //处理非整数输入 ???????
printf("enter an integer from 1 to 5,please.\n");
}
return code;
这是个检测用户错误输入的程序。
书上说是处理非整数输入,网上找了半天也没找到%*s时干什么用的
书是c primer plus第六版,第9章,265页

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • jhcconan614
    jhcconan614 2016-11-27 05:45
    已采纳

    int a,b;
    char b[10];
    scanf("%d%*s",&a,b);
    输入为:
    12 abc
    那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量

    点赞 评论
  • sessos
    IT平头哥 2016-11-27 13:07

    你输入完了之后要按回车吧,%*s就是吸收回车这个垃圾字符的

    点赞 评论

相关推荐