scanf("%*c%*[^\n]"); 想问一下上面的*和c有什么作用?是什么意思?

 我来答
百度网友ce91921
2012-12-05 · 超过19用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:51万
展开全部
scanf("%*c%*[^\n]");
这条语句中%*c表示, 读入一个字符,但是这个字符不保存到变量里,所以后面不需要有对应的char型的参数。%*[^\n]表示读入一个字符串,字符串里的字符只能是由[]里指定的字符,并且这个字符串也不保存。假如是%*[abcd], 只能输入abcd所组成的字符串,如aabbddcc,如果遇到其他字符,scanf函数就会返回。
这里是%*[^\n], ^表示“非”的意思, \n是换行, %*[^\n]表示读入所有不是换行的字符。
所以 scanf("%*c%*[^\n]");表示,读入一个字符,再读入一串不是换行的字符,这些都不保存,然后返回。
其实就是,跳过一行的意思。
网上找的,还真没想到正则表达式在scanf也可以用
zxpointer
2012-12-05 · TA获得超过4100个赞
知道大有可为答主
回答量:1868
采纳率:33%
帮助的人:1192万
展开全部
%*代表读入一个字符值而不把它赋给任何变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式