ssprintf,sscanf两个黑科技的作用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/AC_hell/article/details/51126762

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分类里找哦亲!

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

展开阅读全文

没有更多推荐了,返回首页