重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
此程序可通过以下步骤实现:
创新互联公司主营新巴尔虎右网站建设的网络公司,主营网站建设方案,成都APP应用开发,新巴尔虎右h5微信平台小程序开发搭建,新巴尔虎右网站营销推广欢迎新巴尔虎右等地区企业咨询
1、输入一个正整数
2、将整数转换为字符串(使用sprintf函数)
3、求字符串的长度(strlen函数),即正整数的位数
代码如下:
#include stdio.h
#include string.h
int main()
{
long num;
char str[20];
scanf("%ld", num);
sprintf(str, "%ld", num);
printf("%d", strlen(str));
return 0;
}
这样写主要是考虑到整数的前面可能有0,比如:00090,是两位数。如果确认没有前置0的话,可以简化过程,省去转换为字符串的过程,直接用gets得到字符串。
fmt.Sprint()的参数为interface,可以将任意的类型转为string
函数原型:func FormatInt(i int64, base int) string
参数说明:base为进制数
base为十和十六进制数的区别的举例
var gostrs []string
var cstrs []*C.char
header := (*reflect.SliceHeader)(unsafe.Pointer(cstrs))
header.Data = cstrspointer
header.Len = cstrslength
for _, cstr := range cstrs {
gostrs = append(gostrs, C.GoString(cstr))
}
使用_itoa()
char *_itoa( int value, char *string, int radix );
value → 欲转换的数值
string → 存放转换结果的字串
radix → 进制
int number = 12345;
char string[25];
itoa(number, string, 10); //按十进制转换
printf("integer = %d string = %s\n", number, string);
integer = 12345 string = 12345 --说明12345的十进制表示就是12345
import "strconv"
int, err := strconv.Atoi(string)
int64, err := strconv.ParseInt(string, 10, 64)
string := strconv.Itoa(int)
string := strconv.FormatInt(int64,15)