ssprintf,sscanf两个黑科技的作用

ssprintf,sscanf两个黑科技的作用

关于这2个函数的使用方法网上一搜一大把,可我却还没有发现有好的文章来介绍它们在写题时的神奇用法。这里我也不做过多介绍,就讲一讲它们真正需要用到它们的地方。

int a=13345678;

char s[25]="\0";

我们知道,对于int这些数字类型我们无法直接对其某一位上的数字进行操作,但是字符串却有随机操作的优点,可以直接对其中某一个字符进行操作。那么我们是否可以把一个int类型(不仅是int这里只是方便说明)的存到一个字符串里再进行所需要的操作之后再读取出来呢?ssprintf和sscanf就很好的满足了这一操作,

ssprintf(s,"%s",a);     这个语句可以将int 型的a以字符串的形式打印到s里面,此时s为13345678+'\0',然后假设我们要把a变成12345678,只要执行    s[1]='2';  便行了,此时s就变成了12345678+'\0',然后再通过执行:

sscanf(s,"%d",&a);  这个语句就可以把s以整形十进制的形式输入到a中了。此时a就变成了12345678。

读者可以去做一做poj-3126,就可以用到这个技巧哦!附上链接:点击打开链接 题解可以在我的BFS分类里找哦亲!

是不是很方便呢?在高精度的进制的转换中它们也可以起到很好的作用哦,不如仔细思考思考吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值