my strlen计算字符串长度
my strcpy拷贝字符串
const的用法,保护右侧内容不被改动,与指针的妙用,(既不让女朋友花钱,也不让其换男朋友)
int num = 10;
const int* const pa = #//既不让女朋友花钱,也不让其换男朋友
assert()断言的用法,优化程序
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//
//int main()
//{
// int i = 0;
// int sum = 0;//保存最终结果
// int n = 0;
// int ret = 1;//保存n的阶乘3,1+2*1+3*2*1=1+2+6=9
// scanf("%d", &n);
// for (i = 1; i <= n; i++)
// {
// int j = 0;
// ret = 1;
// for (j = 1; j <= i; j++)
// {
// ret *= j;
// }
// sum += ret;
// }
// printf("%d\n", sum);
// return 0;
//}
//void my_strcpy(char* dest, char* src)
//{
// while (*src != '\0')
// {
// *dest = *src;
// src ++;
// dest++;
// }
//}
//void my_strcpy(char* dest, char* src)
//{
// if (dest != NULL && src != NULL)
// {
// while (*dest++ = *src++)
// {
// ;
// }
// }
//
//}
#include <assert.h>
//void my_strcpy(char* dest, const char* src)//const的用法,保护右侧数值不被改变
//{
//
// assert(dest != NULL);
// assert(src != NULL);
// while (*dest++ = *src++)
// {
// ;
// }
//
//}
char* my_strcpy(char* dest, const char* src)//const的用法,保护右侧数值不被改变
{
char* ret = dest;
assert(dest != NULL);
assert(src != NULL);
while (*dest++ = *src++)
{
;
}
return ret;
}
//int main()
//{
// char arr[] = { "####################"};
// char arr2[] = { "bit"};
// my_strcpy(arr, arr2);
// printf("%s\n", arr);
//
// return 0;
//}
int main()
{
char arr[] = { "####################" };
char arr2[] = { "bit" };
printf("%s\n", my_strcpy(arr, arr2));
return 0;
}
my strlen计算字符串长度
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <assert.h>
int my_strlen(const char* str)
{
int count = 0;
assert (str != NULL);
while (*str)//*str指针为\0,则跳出循环
{
str++;
count++ ;
}
return count;
}
int main()
{
char arr[] = { "abcdef" };
int ret = my_strlen(arr);
printf("%d\n", ret);
return 0;
}