学习日志 姓名:苏浩 日期:0718
|
|
今日学习任务
| 1. 熟练掌握数组的使用;(1-3数组名的作用,数组的使用) 2. 熟练特殊数组的使用;(指针数组、函数指针数组等) 3.熟练掌握右左法则的使用;(复杂定义声明解释) 4.熟悉函数的调用过程 5. 熟练掌握字符串的操作;(实现并使用字符串处理函数) |
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) |
|
今日开发中出现的问题汇总
|
|
今日未解决问题
| 无 |
今日开发收获 |
|
自我评价
(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
| 加深对函数调用过程的理解,知道什么时候传实参变量名,什么时候传实参变量对应空间的地址,以及传出参数。初步了解数组名的作用,如何定义数组,1—3维数组名分别的含义,&操作的含义,*操作的含义 |
其他
| 无 |
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char * my_strcpy(char *dest, char *src)
{
char *d = dest;
char *s = src;
while( *s != '\0')
{
*d = *s;
*d++;
*s++;
}
*d = '\0';
return dest;
}
char * my_strncpy(char *dest, char *src, int len)
{
int i;
for(i = 0; i<len; i++)
{
*(dest + i ) = *(src + i);
}
*(dest + i ) = '\0';
return dest;
}
char * my_strcat(char *dest, char *src)
{
char *d = dest;
char *s = src;
while( *d != '\0')
{
*d++;
}
while( *s != '\0')
{
*d = *s;
*d++;
*s++;
}
*d = '\0';
return dest;
}
char * my_strncat(char *dest, char *src, int len)
{
int i;
for(i = 0; i<len; i++)
{
*(dest + i ) = *(src + i);
}
*(dest + i ) = '\0';
return dest;
}
int my_strcmp(char *s1, char *s2)
{
int t;
while(*s1 != '\0' && *s2 != '\0')
{
if(*s1 == *s2)
{
t = 0;
}
if(*s1 > *s2)
{
t = 1;
}
if(*s1 < *s2)
{
t = -1;
}
*s1++;
*s2++;
}
return t;
}
int main()
{
// char str[100];
char str[100] = "hello a";
char *ptr = "hello world";
#if 0
char *temp = my_strcpy(str, ptr);
printf("str = %s\n",str);
printf("temp = %s\n",temp);
#endif
#if 0
int n = 9;
char *temp1 =my_strncpy(str, ptr, n);
printf("temp1 = %s\n",temp1);
#endif
#if 0
char *temp = my_strcat(str,ptr);
printf("str = %s\n",str);
printf("temp = %s\n",temp);
int n = 8;
char *temp1 = my_strncat(str,ptr,n);
printf("str = %s\n",str);
printf("temp1 = %s\n",temp1);
#endif
int ret = my_strcmp(str,ptr);
printf("ret = %d\n",ret);
return 0;
}