今天做一个输入范围在0-10^100的题,当然要用字符串了,整数直接抛弃。但是字符串也没有整数那么好计算,所以还是想先用整数计算,然后用字符串将结果输出。发现一个神级函数,是c标准库里的,叫snprintf()
snprintf(ch, sizeof(ch), "%d", n);
//ch是字符串名,%d是类型,n是整数
你可以用它将一个整数强制转化为一个字符串,并从偏移量为0开始存储到数组里。如下
#include<stdio.h>
#include<string.h>
int main(){
int n = 123;
char ch[10];
snprintf(ch, sizeof(ch), "%d", n);
printf("%c %c %c",ch[0],ch[1],ch[2]);
return 0;
}
//最后将输出:1 2 3。这不仅说明了已经转化为了字符串数组,还说明了是从偏移量为0开始存的。
好用!多用!(但是好像这函数的格式挺难记的。上机没自动代码提示就有点烦了)