字符串遍历的三种方法
1.已知循环次数用for
for (i = 0; i < strlen(src); i++)
2.未知循环次数用while
while(src[i] != ‘\0’)
3.指针
例:字符串转化为整数
#include<stdio.h>
#include<string.h>
#define MAX_SIZE 100
int my_atoi(char *src)
{
int i = 0;
int flag = 1;
int result = 0;
if(src[0] == '-')
{
flag = -1;
i = 1;
}
while(src[i] != '\0')
{
if(src[i] >= '0' && src[i] <= '9')
{
result = result * 10 + (src[i] - '0');
}
else
{
break;
}
i++;
}
return flag*result;
}
int main()
{
int result = 0;
char src[MAX_SIZE] = {0};
printf("输入的字符串为:");
scanf("%s",src);
printf("src string = %s\n",src);
result = my_atoi(src);
printf("输出整型为:%d",result);
return 0;
}
整数转化为字符串:
#include<stdio.h>
#include<string.h>
#define MAX_SIZE 100
char* my_itoa(int src)
{
int i = 0;
int temp = 0;
int len = 0;
static char result[MAX_SIZE] = {0};
while( src != 0)
{
result[i] = (src % 10) + '0';
src = src / 10;
i++;
}
result[i] = '\0';
len = strlen(result);
for(i = 0; i < len / 2; i++)
{
temp = result[i];
result[i] = result[len - i -1];
result[len - i -1] = temp;
}
return result;
}
int main()
{
int i;
int src;
printf("输入的整型为:");
scanf("%d",&src);
printf("src = %d\n",src);
char *result = my_itoa(src);
printf("result = %s\n",result);
return 0;
}