已在代码中对每一句做了注释
#include
#include
main() {
char a[]="acegikl";//初始化,用字符串初始化字符数组a,C语言中没有专门的字符串类型,只能用字符数组来存储字符串。
char b[]="odfhjinpq"; //初始化,用字符串初始化字符数组b
char c[80],*p;
int i=0,k=0;
while(a[i]!=0) {//while循环的作用是把字符串a中的全部字符赋值给字符数组c ,也就是把字符数组a的元素一个一个的赋值给数组c,位置也是一一对应的
c[k]=a[i];
i++;
k++;
}
c[k]=0;//末尾补0是为了字符串末尾添加结束标记'\0'
if(a[i]==0)
p=b;//把字符串b的首地址赋值给指针p,这样就可以用指针p来访问字符串b了
strcat(c,p);//库函数strcat的作用是把字符串p复制到字符串c的尾部。 也就是把字符串p和字符串c连接起来。
puts(c);//输出连接后的字符串。
}
输出结果如图
那个0应该是'\0'的意思,表示字符串结束,ASCII码为0嘛,while那部分的代码就是把字符数组a中的元素一个个复制到字符数组c中的意思,然后结束之后再给它加上'\0',然后当a结束之后就将指针p指向字符数组b,然后将这两个字符数组连接起来
,到while后面就看不懂了,总感觉有很多的语句都是不必要的,求大神详细解释一下,另外能改成最简形式吗?我们的作业题!
请问作业的要求是啥?