第五次作业
一:学习内容:第11章的11.1节、11.2节
1.手写笔记
2.编辑运行例题的截图
3.遇到的问题
行元素数组的首地址和首行第一个元素的地址有什么区别:
假设 int a[5][7]; 行元素组的首地址指的是a[0]的地址&a[0]==a; 而第一行第一个元素的地址是&a[0][0]==*a==a[0]
一、
char *str_cat( char *s, char *t )
{
int i;
for(;*s!='\0';s++); //让s走到末尾\0
for(i=0;t[i]!='\0';i++){ // 循环找出各个字母
*(s+i)=*(t+i); //进行连接
}
*(s+i)='\0'; // 将末尾赋值\0
printf("%s\n",&s[0]);
return &s[0];
二、
char *str_cat( char *s, char *t )
{
{
int len,lent,i;
len=strlen(s); //测量s的长度
lent=strlen(t); //测量t的长度
for(i=0;i<lent;i++){ //循环lent次
s[len+i]=t[i]; // 依次赋值
}
s[len+i]='\0'; //末尾赋值\0
return s;}
三、
char *str_cat( char *s, char *t )
{
while(*s!='\0') //让s走到末尾\0
s++;
while(*t!='\0') // 循环找出各个字母
*s++=*t++; //进行连接
{
while(*s!='\0') //让s走到末尾\0
s++;
while(*t!='\0') // 循环找出各个字母
*s++=*t++; //进行连接
*s++='\0'; // 将末尾赋值\0
return &s[0];
}
return &s[0];
}