一道指针问题
题目是将a数组copy到数组b。我用了两种方法(子函数中被注释的是另一种方法)
但是运行结果都是这样。
不知道为什么,请大家帮忙看看。谢谢!
#include <stdio.h>
void copy(char from[],char to[]);
int main()
{
char a[]="I like English very much!";
char b[]="I like C very much too!";
printf("The a string is: "); //输出原来的a字符串;
printf("%s\n",a);
printf("The b string is: "); //输出原来的b字符串;
printf("%s\n",b);
printf("\n\n");
copy(a,b);
printf("The a string is: %s\n",a);
printf("The b string is: %s\n",b); //输出更改后的a,b字符串;
return 0;
}
void copy(char from[],char to[])
{
int i=0;
/*
char *p1,*p2;
p1 = from;
p2 = to;
for(;*p1!='\0';p1++,p2++)
{
*p2=*p1;
}
*p2='\0';
*/
while(from!='\0')
{
to=from;
i++;
}
to='\0';
} 一个是指针形式索引,一个是数组索引。
指针和数组在很多情况下都可以互用。 ba21 发表于 2017-8-24 20:59
一个是指针形式索引,一个是数组索引。
指针和数组在很多情况下都可以互用。
额。。但是这两个运行结果都是错的啊。。这是怎么回事 沧海雨季 发表于 2017-8-24 21:01
额。。但是这两个运行结果都是错的啊。。这是怎么回事
两个数组长度不一样。肯定出错。
char a[]="I like English very much!";
char b[]="I like C very much too!!!"; ba21 发表于 2017-8-24 21:08
两个数组长度不一样。肯定出错。
哦哦谢谢啦~
页:
[1]