在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近做到类似于日期的题目,通常可以想用字符串接收,然后再累加算出年月日。 但是最近学到一些小技巧,所以想来总结一下。 当然,通俗的scanf、printf是用来干什么的我就不再介绍了,百度搜一下有很多比我讲得清楚的。
赋值抑制字符*
比如现在有一个需求,给你一个身份证号,你来算算他今年多少岁了。你可能想着把年份算出来。 scanf里边也可以用通配符,比如下面代码中的scanf," %*6d " 。星号可以理解为赋值抑制字符,他表示从缓冲区中取6个字符,但是不赋值(也就是说不用写参数来接收他)。
再比如,给你一个数,去掉第一位数字,输出后面的n-1位数(且忽略前缀0)。 用赋值抑制字符来做非常简单。三行代码搞定。 直接看scanf,从缓冲区中取出第一个位,但是不赋值,然后剩下的n-1位若前缀有0,那么 %d 会自动去掉前缀0。
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论