|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
0. 你应该听说过 itoa 函数(函数文档 -> 传送门),它的作用是将一个整数转换成字符串形式存储。现在要求我们自己来实现一个类似功能的函数 myitoa(int num, char *str),该函数的第一个参数是待转换的整型变量,第二参数传入一个字符指针,用于存放转换后的字符串。[b]下面是我的^__^,先不考虑负的
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <math.h>
- //1234
- char * myitoa(int num,char *str)
- {
- int i = 0;
- while(pow(10,i)<num)
- {
- i++;
- }
- int a = i;
- for(int j = 0;j<i;j++)
- {
- int t = num / pow(10,a-1);
- num = num % (int)pow((int)10,a-1);
- *(str+j) = t+48;
- a--;
-
- }
- return str;
- }
- int main(void)
- {
- char str[10];
- printf("%s\n",myitoa(123456,str));
- printf("%d\n",sizeof(str));//无论数字如何变,这个等于10,不变,不知道为啥
- system("pause");
- return 0;
- }
复制代码
哈哈又是我。还记得上一篇吗?先区分两个概念,sizeof,strlen看一看小甲鱼是怎么说的?strlen 函数文档
函数概要:
strlen 函数用于返回指定字符串的长度。
C 语言字符串的长度取决于结束符('\0')的位置。
一个字符串的长度指的是从起始位置到结束符的字符个数(不包含结束符本身)。
初学者很容易混淆字符串的长度和字符串数组的大小,例如:
char mystr[100] = "I love FishC.com!";
上边代码定义一个可以存放 100 个字符的数组,但 mystr 字符串只被初始化为包含 17 个字符的长度。因此,sizeof(mystr) 的结果是 100,而 strlen(mystr) 的结果则是 17。
所以你应该懂了吧,要多用小甲鱼的函数快查,真的很好用。
|
|