void fun(char *t,char *s){while(*t!=0)t++
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 06:24:06
void fun(char *t,char *s){while(*t!=0)t++
#include "stdio.h"
void fun(char*t,char*s)
{while(*t!=0) t++;
while((*t++=*s++)!=0);
}
main()
{char ss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);
printf("%s,%s\n",ss,aa);
}
求运行结果?
不知道如何看这个程序,求详细详细详细解答……还有怎么看这个fun函数的作用,
#include "stdio.h"
void fun(char*t,char*s)
{while(*t!=0) t++;
while((*t++=*s++)!=0);
}
main()
{char ss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);
printf("%s,%s\n",ss,aa);
}
求运行结果?
不知道如何看这个程序,求详细详细详细解答……还有怎么看这个fun函数的作用,
运行结果:accbbxxyy,bbxxyy;
函数fun()的作用是连接两个字符串数组,即把字符串数组aa连接到字符串数组ss后面;
原理:字符串数组的数组名表示指向此字符串的首个元素的指针(比如ss指向“a”,对ss进行加一运算后,ss++表示下一个元素“c”,以此类推);
fun()函数中,while(*t != 0) t++;表示:当指针t指向的字符不是空字符时,将t加一,使其指向下一个字符;
while((*t++ = *s++) != 0);作用:依次复制指针s指向的字符给指针t,通过++操作前进,当赋值结果为0时,表示s指向的字符为空,结束循环.
[有不懂的可以接着问]
再问: 基本上理解了,大神能否在我的程序旁边写上详细的注释呢? 以后遇到这种类型的话我就按照你这样说的理解,很详细。
再答: #include "stdio.h"
void fun(char *t, char *s) // 函数fun()接受两个字符串指针为参数
{
while(*t != 0) // 当指针t指向的字符为非空时……
t++; // 将t加一,指向下一个字符
while((*t++ = *s++) != 0); // 依次复制s指向的字符给t指向的内容
// 通过++操作前进,当赋值结果为0时,表示s指向的字符为空,结束
}
main()
{
char ss[10] = "acc", aa[10] = "bbxxyy"; // 声明两个字符串数组
fun(ss, aa); // 将aa连接到ss的后面,aa保持不变
printf("%s,%s\n", ss, aa);
}【建议:main函数开头最好写成int main(void)或者int main(int argc, char **argv),结尾加上一句return 0;,这是ANSI C标准的规定。】
函数fun()的作用是连接两个字符串数组,即把字符串数组aa连接到字符串数组ss后面;
原理:字符串数组的数组名表示指向此字符串的首个元素的指针(比如ss指向“a”,对ss进行加一运算后,ss++表示下一个元素“c”,以此类推);
fun()函数中,while(*t != 0) t++;表示:当指针t指向的字符不是空字符时,将t加一,使其指向下一个字符;
while((*t++ = *s++) != 0);作用:依次复制指针s指向的字符给指针t,通过++操作前进,当赋值结果为0时,表示s指向的字符为空,结束循环.
[有不懂的可以接着问]
再问: 基本上理解了,大神能否在我的程序旁边写上详细的注释呢? 以后遇到这种类型的话我就按照你这样说的理解,很详细。
再答: #include "stdio.h"
void fun(char *t, char *s) // 函数fun()接受两个字符串指针为参数
{
while(*t != 0) // 当指针t指向的字符为非空时……
t++; // 将t加一,指向下一个字符
while((*t++ = *s++) != 0); // 依次复制s指向的字符给t指向的内容
// 通过++操作前进,当赋值结果为0时,表示s指向的字符为空,结束
}
main()
{
char ss[10] = "acc", aa[10] = "bbxxyy"; // 声明两个字符串数组
fun(ss, aa); // 将aa连接到ss的后面,aa保持不变
printf("%s,%s\n", ss, aa);
}【建议:main函数开头最好写成int main(void)或者int main(int argc, char **argv),结尾加上一句return 0;,这是ANSI C标准的规定。】
void fun(char *t,char *s){while(*t!=0)t++
void fun(char *s[],int n) { char *t;int i,j for(i=0;i
fun(char *w,int n) { char t,*s1,*s2; s1=w; s2=w+n-1; while(s
这个程序有什么问题?#include/*void strcpy(char *s,char *t){int i=0;whi
void swap (char *x,char *y) { char *t; t=x; x=y; y=t; } void
#include #include void main() { char ch; int a,s,k,t; while(
#include void fun(char *w,int n){char t,*s1,*s2;s1=w;s2=w n-
#include #include void fun(char *w,int n) { char t,*s1,*s2;
void f(char **p) { char *t; t=(p+=sizeof(int))[-1]; printf("
#include void fun(char *a,char *b) { while(*a=='*')a++; whil
#include void fun(char p1[],char p2[]) { while(p1!=NULL) {p1
void fun (char *a,char *h,char *p) { int j=0; char *q=a; whi